我有一项任务是将mp3文件+某些图片转换为mp4视频。要做到这一点我使用ffmpeg库+ libmp3lame,但我必须使用LGPL版本。所以我正在尝试使用适当的标志来构建它,因为我无法在互联网上找到它。
我还需要一个win64版本,但我必须在Ubuntu VM(vagrant)上构建它。
这是我的脚本(来自vagrantfile的一部分):
sudo apt-get install -y mingw-w64
sudo apt-get install -y git
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --host=x86_64-w64-mingw32 --prefix="/vagrant/ffmpeg_build" --disable-shared --enable-static
make
make install
cd /vagrant
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg/
./configure --prefix="/vagrant/ffmpeg_build" --arch=x86_64 --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32 --enable-static --disable-shared --disable-debug --disable-yasm --disable-w32threads --disable-network --extra-libs=-static --extra-cflags="-I/vagrant/ffmpeg_build/include" --extra-ldflags="-L/vagrant/ffmpeg_build/lib"
make
不幸的是,在构建过程的最后,我得到了
==> default: CC ffmpeg_opt.o
==> default: CC ffmpeg_filter.o
==> default: CC ffmpeg_dxva2.o
==> default: LD ffmpeg_g.exe
==> default: CP ffmpeg.exe
==> default: STRIP ffmpeg.exe
==> default: x86_64-w64-mingw32-strip
==> default: :stgaDQCc
==> default: : Protocol error
==> default: make:
==> default: *** [ffmpeg.exe] Error 1
我的配置缺少什么?提前谢谢!
答案 0 :(得分:1)
您正在VM中构建,因此您构建的位置可能是VM和主机之间的共享空间,这可能会在运行strip时导致“协议错误”(请参阅例如here)。尝试取消共享构建文件夹或在另一个未共享的位置构建。