[英]ffmpeg-Error splitting the argument list: Option not found
我正在嘗試使用ffmpeg-android-java執行以下命令
-i /storage/sdcard0/WhatsApp/Media/WhatsApp Video/VID-20170228-WA0000.mp4 -ss 180 -t 292 -strict -2 -async 1 /storage/sdcard0/Movies/cropper_video_1.mp4
我收到以下失敗消息-
輸出失敗:ffmpeg 版本 n3.0.1 版權所有 (c) 2000-2016 FFmpeg 開發人員使用 gcc 4.8 (GCC) 配置構建:--target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg- android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain- android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug -- disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='- I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-p rotector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra- libs='-lpng -lexpat -lm' --extra-cxxflags= libavutil 55. 17.103 / 55. 17.103 libavcodec 57. 24.102 / 57. 24.102 libavformat 57. 25.100 / 57. libfilter / 57.17.17.17.17.17.17.17.17.17.17.17.17.25.107 . 31.100 / 6. 31.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Unrecognized option / WhatsApps0dMedia/WhatsApp20/WhatsApps20/WhatsApps200000000 WA0000.mp4 -ss 180 -t 292 -strict -2 -async 1 /storage/sdcard0/Movies/cropper_video_1.mp4'。 拆分參數列表時出錯:找不到選項
為什么我會收到此錯誤,我該如何解決?
我遇到了一個非常相似的問題。 我給的命令是
"-y -i /sdcard/Movies/test_video.3gp /sdcard/Movies/test_video.mp4"
我得到了以下錯誤
無法識別的選項“y -i /sdcard/Movies/test_video.3gp /sdcard/Movies/test_video.mp4”。 拆分參數列表時出錯:找不到選項
原因是,我在一個字符串中給出了我的命令。 相反,您必須將每個命令分解為自己的字符串並提供一個字符串數組
val command: List<String> = listOf("-y", "-i", "/sdcard/Movies/test_video.3gp", "/sdcard/Movies/test_video.mp4")
問題是此處所需的 shell 命令需要您在空格處拆分字符串,以便沒有空格。
最簡單的方法是:-
String ffmpegCmdString = "-y -i /sdcard/Movies/test_video.3gp /sdcard/Movies/test_video.mp4"
String[] splitCmd = ffmpegCmdString.split(" ");
您現在可以傳遞這個 splitCmd 變量來運行您的命令,它會像魅力一樣工作。
這意味着 ffmpeg 的某些功能在此版本中沒有完全實現。 解決方案: 1. 為 Android 的 ffmpeg 創建自定義構建。 2. 刪除-strict -2 -async 1
標志
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.