0

我已经从Bambuser 项目(参考问题)编译了 FFMPEG 二进制文件,并将二进制文件和 .so 文件推送到应用程序目录。

但是当我尝试使用输入文件运行 FFMPEG 时,它总是抱怨找不到文件。

1|root@android:/data/data/com.bambuser.broadcaster # ls                        
cache           libavcodec.so   libavfilter.so  libswscale.so
ffmpeg          libavcore.so    libavformat.so  tutorial.mp4
lib             libavdevice.so  libavutil.so
1|root@android:/data/data/com.bambuser.broadcaster # ./ffmpeg -i tutorial.mp4 out.mp4                                                              
FFmpeg version UNKNOWN, Copyright (c) 2000-2010 the FFmpeg developers
  built on May  8 2012 10:11:37 with gcc 4.4.3
  configuration: --target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm --sysroot=/home/tarandeep/tools/android-ndk/platforms/android-3/arch-arm --soname-prefix=/data/data/com.bambuser.broadcaster/lib/ --enable-shared --disable-symver --enable-small --optimization-flags=-O2 --disable-everything --enable-encoder=mpeg2video --enable-encoder=nellymoser --prefix=../build/ffmpeg/armeabi-v7a --extra-cflags='-march=armv7-a -mfloat-abi=softfp' --extra-ldflags=
  libavutil     50.34. 0 / 50.34. 0
  libavcore      0.16. 0 /  0.16. 0
  libavcodec    52.99. 1 / 52.99. 1
  libavformat   52.88. 0 / 52.88. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.69. 0 /  1.69. 0
  libswscale     0.12. 0 /  0.12. 0
tutorial.mp4: No such file or directory

我试过将文件放在 /sdcard 和其他位置,我总是得到相同的输出

4

1 回答 1

3

我下载了代码“客户端版本 1.3.7 到 1.6.0 的存档。”。我发现在 build.sh 文件中有一行FLAGS="$FLAGS --disable-everything"禁用了所有用于加载文件的协议(文件、http 等)。注释此行或启用您需要的协议允许您正确加载文件。

于 2012-10-18T16:18:28.383 回答