• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Dragon  
            Dragon
            日歷
            <2008年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678
            統計
            • 隨筆 - 58
            • 文章 - 0
            • 評論 - 55
            • 引用 - 0

            導航

            常用鏈接

            留言簿(3)

            隨筆分類(58)

            隨筆檔案(58)

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             
             

            就以網上的那個《FFMPEG解碼流程》中的例子來講吧!

            環境說明:在Windows下安裝了Cygwin1.7.6版本。

            我的NDK安裝目錄是:c:\cygwin\home\Dragon\Android\android-ndk-r4b

            Cygwin設置了環境變量:

            NDK_ROOT=~/Android/android-ndk-r4b

            export NDK_ROOT

             

            1. c:\cygwin\home\Dragon\Android\android-ndk-r4b\samples\創建一個文件夾,命名為Test

            在里面再創建一個文件夾jni,在jni我們必須有這四個:

            (1)       源碼:main.c

            (2)       Ffmpeg0.6源碼,文件名ffmpeg

            (3)       Android.mk

            (4)       so文件夾,里面放好了編譯好的lib*.so文件

                  除了FFMPEG源碼,這些文件我已經放到CSDN下載了。下載地址:

                http://download.csdn.net/source/2776066

            2.然后啟動cygwin

            $ cd $NDK_ROOT

            $ ndk-build NDK_PROJECT_PATH=$NDK_ROOT/samples/Test

            就會產生一個在Test\libs\armeabi\Test

             

            運行Android虛擬機,我的是2.2版本。

            把所有用到的SO文件adb push /system/lib/

            Test文件adb push /system/bin/

            把要測試的文件clock.aviadb push /system/bin/

            adb shell 進入到Android虛擬機。

             

            # cd /system/bin/

            # chmod 777 Test

            # Test clock.avi

             

            只要我們修改.c文件和Android.mk文件我們就可以編寫jni native方法生成SO文件給JAVA調用,當你調試時如果你的JAVA程序調用SO文件時一定要把ffmpeg里用到的SO文件上傳到/system/lib/不然調試不了。
            posted on 2010-10-22 18:13 Dragon 閱讀(8016) 評論(17)  編輯 收藏 引用 所屬分類: FFMPEG
            評論:
            • # re: NDK使用FFMPEG寫的Android測試程序  小莫 Posted @ 2010-12-14 22:00
              對于:"(4) so文件夾,里面放好了編譯好的lib*.so文件"
              請問 lib*.so文件哪里來的?

                回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序[未登錄]  Dragon Posted @ 2010-12-15 19:49
              @小莫
              編譯FFMPEG的  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  小莫 Posted @ 2010-12-18 18:49
              是用Android的ndk編譯的吧?
              求過程!  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  小莫 Posted @ 2010-12-18 19:32
              Hi,首先謝謝的的回復,謝謝 。
              我對你使用Android NDK r4b編譯ffmpeg生成lib*.so的過程非常感興趣,非常崇拜啊!下面有幾個問題請教一下:
              1 你使用的ffmeg的版本,0.4.8?跟你前面《FFMPEG解碼流程》提到的一樣?
              2 各個模塊的“Android.mk”編寫過程,關鍵點,分別編譯還是同時編譯?
              3 編譯ffmpeg生成lib*.so的項目能給我發一份嗎?如果可以,我將萬分感謝,同時我會在項目加上對Android UI的現實控制,并返給你;如果不可以我只有慢慢學習,慢慢來請教你(530225731@qq.com)。
              4 有沒有辦法把 ib*.so加入到Test.os最后只有一個文件,應該用NDK連接編譯?
              5 最好能給我一個你的email地址。謝謝,感謝。

              ps: 以上全部出于個人興趣的研究.
              小莫
                回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  Dragon Posted @ 2010-12-19 09:05
              在我的CSDN上的編譯FFMPEG的教程里,是生成libffmpeg.so失敗的,把各個模塊都生成靜態庫,將ffmpeg目錄下的Android.mk文件里的LOCAL_STATIC_LIBRARIES改成LOCAL_WHOLE_STATIC_LIBRARIES
              還要按照這文章修改build-binary.mk文件
              http://www.cnblogs.com/scottwong/archive/2010/12/17/1909455.html
              就可以生成一個SO文件了  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  xdiyer Posted @ 2011-02-23 09:16
              "運行Android虛擬機" 是指運行Android模擬器嗎?
              我在“把Test文件adb push 到 /system/bin/” 的時候出現失敗。提示是 /system/bin/ 是只讀的。樓主是怎么做的?  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序[未登錄]  Dragon Posted @ 2011-02-24 17:37
              @xdiyer
              是指Android模擬器.
              下面那個問題我忘記我有沒有遇到過了,好像沒有~~
              你自己百度一下吧~~
                回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  宏宇 Posted @ 2011-03-10 14:44
              xdiye:
              用adb remount 命令解決只讀問題  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  he Posted @ 2011-04-28 15:03
              樓主,有個問題想請教下: 為什么要把.so文件push到system/lib下呢?那在真機上運行呢?  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  jichre Posted @ 2011-05-06 11:15
              我想問一下。。運行一下test之后產生了很多信息。。怎么知道是成功了。。。  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  Dragon Posted @ 2011-05-15 22:51
              里面會生成一些圖片的,PPM格式 ,如果有就是成功了。  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  zhx Posted @ 2011-06-05 18:21
              你好!在哪個文件下可以看到生成的ppm格式的圖片呢?
                回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序[未登錄]  Dragon Posted @ 2011-06-09 00:16
              @zhx
              就在/system/bin/文件夾下
              你可以輸入ls回車查看,然后用命令將文件下載到電腦中查看圖片  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  小豪 Posted @ 2012-03-02 11:49
              hi 博主 你的那個main.c的代碼 不要用jni規則修改下嗎?能否講下這個int main(int argc, char *argv[])用jni規則怎么處理的嗎  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序[未登錄]  Dragon Posted @ 2012-03-05 16:08
              @小豪
              這個不需要JNI規則的,是純C的,就好像你在Linux用C寫控制臺程序一樣.  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序  小豪 Posted @ 2012-03-06 14:12
              @Dragon
              謝謝博主的回復~,這個不需要jni規則,這個純C的代碼在android上怎么能用呢?java中不需要調用這個代碼中的任何函數?那么jni 的native方法修改的是哪里的?這塊的代碼 能否讓看看呢 或者有木有這個的博客呢?  回復  更多評論   

            • # re: NDK使用FFMPEG寫的Android測試程序[未登錄]  Dragon Posted @ 2012-03-06 22:11
              @小豪
              你android是基于Linux的,可以執行純C程序,不一定要用JAVA,而你們學
              JAVA的只負責調用底層用C/C++寫的JNI,而這個JNI的代碼就要遵守JNI規則了,例如下面的純C代碼用NDK編譯成執行程序后就可以adb push到android里用命令行執行了:

              #include <stdio.h>

              int main()
              {
              printf("Hello world!\n");
              return 0;
              }  回復  更多評論   

             
            Copyright © Dragon Powered by: 博客園 模板提供:滬江博客
            精品无码人妻久久久久久| 伊人色综合久久天天人手人婷| 亚洲精品白浆高清久久久久久 | 精品久久久久久无码国产| 久久国产V一级毛多内射| 亚洲午夜无码AV毛片久久| 性欧美丰满熟妇XXXX性久久久| 久久99精品久久久久久动态图 | 久久人做人爽一区二区三区| 97精品依人久久久大香线蕉97| 97精品伊人久久大香线蕉app| 久久久久18| 久久精品无码午夜福利理论片| 国产精品无码久久四虎| 麻豆成人久久精品二区三区免费| 久久婷婷国产麻豆91天堂| 国产成人综合久久精品红| 亚洲一本综合久久| 久久精品国产99久久久| 久久婷婷色香五月综合激情 | 97久久天天综合色天天综合色hd| 国内精品久久久久久久久| 奇米综合四色77777久久| 亚洲人成网站999久久久综合| 99久久免费国产精品热| 亚洲av伊人久久综合密臀性色| 亚洲精品美女久久久久99小说 | 久久这里的只有是精品23| 欧美亚洲国产精品久久蜜芽| 久久久av波多野一区二区| 7777精品伊人久久久大香线蕉| 久久久久噜噜噜亚洲熟女综合| 国产精品久久久久久久久免费| 久久久这里有精品| 亚洲精品国精品久久99热| 精品久久综合1区2区3区激情| 伊人久久大香线蕉影院95| 国产精品久久久久久久久鸭| 国产成人精品白浆久久69| 国内精品久久久久影院一蜜桃| 亚洲国产日韩欧美久久|