2012-01-16 76 views
4

我正在執行android ndk ffmpeg,我可以運行一個示例,在這裏[https://github.com/ccggaass/android-ffmpeg-sample]。如何在NDK中加載視頻文件(位於資產文件夾中)?

我希望把視頻中的Android資源文件夾,因此如何通過這個文件到ffmpeg的API:

av_open_input_file(& pFormatCtx,「文件:/sdcard/vid.3gp」, NULL,0,NULL);

有誰知道如何將文件傳遞給AV lib?

回答

-1

也許這將工作

file:///android_asset/vid.3gp

+0

試過了,不起作用。非常感謝。 – user1059217 2012-01-17 05:30:12

1

使用此:

String path = "/sdcard/vid.3gp"; 
av_open_input_file(&pFormatCtx, "file:/sdcard/vid.3gp", NULL, 0, NULL); 
1

確保APK是建立在資產不會被壓縮。 (所以我們可以訪問它的文件描述符) 確保Ffmpeg是使用管道協議支持構建的。 從AAsset_manager獲取資產文件描述符。 構建像這樣的文件名...

char fn [32]; sprintf(fn,「pipe://%d」,your_assets_fd);

打開它像這樣... av_open_input_file(x,fn,...);

祝你好運。

P.S.不要硬編碼/ sdcard /路徑。

+0

@Mar your_assets_fd from AAsset_manager?它可以從getAssets()。openFd(「video.mp4」)。getFileDescriptor()? – crossle 2013-09-17 07:39:16

相關問題