我們是否可以以編程方式在android中使用ffmpeg命令(screenrecord,screenshot)。以編程方式在android中的FFmpeg命令
例如 的ffmpeg -r -f 24 rawvideo -pix_fmt rgb565le -s -i分辨率320x480的/ dev /圖形/ FB0 -vcodec libx264 /sdcard/videokit/screen.mp4
我們是否可以以編程方式在android中使用ffmpeg命令(screenrecord,screenshot)。以編程方式在android中的FFmpeg命令
例如 的ffmpeg -r -f 24 rawvideo -pix_fmt rgb565le -s -i分辨率320x480的/ dev /圖形/ FB0 -vcodec libx264 /sdcard/videokit/screen.mp4
您可以編譯FFmpeg的(它的命名最近更新後的AVConv),針對像arm6/arm7這樣的移動CPU進行了優化。我們在幾年內爲Android做了這些。是的,它沒有硬件加速 - 這意味着低FPS。但它仍然有用。 要使用硬件加速編碼,現在只有一種方法 - 從Android SDK(OS 4.1.2及更高版本)的Java API。
1)使用Android NDK將FFMpeg編譯爲共享庫。你可以試試這個:https://github.com/guardianproject/android-ffmpeg
還是我自己構建腳本(我現在覺得有點過時): https://dl.dropboxusercontent.com/u/76581728/build_android_r7.sh
建議您使用最新的Android NDK。
2)要應用此控制檯選項,您必須將此選項傳遞給本地代碼中的FFMpeg AVDictionary結構。這很簡單。您必須鎖定ffmpeg.c源文件,並且可以使用Netbeans IDE中的斷點分析桌面版ffmpeg的工作原理(非常有用)。 av_opt_set(oc-> priv_data,「f」,「rawvideo」,0);其中,av_opt_set(oc-> priv_data,「f」,「rawvideo」,0)。
3)我想你會遇到麻煩,因爲我知道,由於Android安全性,在非根設備中訪問/ dev/graphics/fb0。
您可以通過編譯android的整個ffmpeg.c,但它不會工作得很快。 – user1095108 2014-09-03 06:30:44
謝謝,任何指南的意思鏈接。我使用FfmpegFrameRecorder將圖像轉換爲視頻,但需要時間將圖像轉換爲視頻。我捕捉我的應用程序的圖像,然後轉換爲視頻,但需要時間。 – 2014-09-03 06:40:47
然後我決定在android中以編程方式使用該命令來直接對屏幕進行recrod。取而代之的是形象,然後轉換成視頻。 – 2014-09-03 06:42:03