我试图将MP4视频从服务器流式传输到YouTube,所以我安装了FFMPEG版本。然后,当我查看FFMPEG的配置时,将看到以下内容:
ffmpeg version 3.3.6 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-cross-compile --arch=i686 --target-os=linux --disable-yasm --disable-static --enable-shared --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libsoxr --enable-version3 --enable-nonfree --enable-openssl --disable-decoder=ac3 --disable-decoder=ac3_fixed --disable-decoder=eac3 --disable-decoder=dca --disable-decoder=truehd --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-encoder=dca --disable-decoder=hevc --disable-decoder=hevc_cuvid --disable-encoder=hevc_nvenc --disable-encoder=nvenc_hevc --extra-ldflags='-L/root/daily_build/64_05/4.4.1/LinkFS/usr/lib -L/root/daily_build/64_05/4.4.1/Model/TS-X72/build/RootFS/usr/local/medialibrary/lib -Wl,--rpath -Wl,/usr/local/medialibrary/lib' --extra-cflags='-I/root/daily_build/64_05/4.4.1/LinkFS/usr/include -I/root/daily_build/64_05/4.4.1/Model/TS-X72/build/RootFS/usr/local/medialibrary/include -D_GNU_SOURCE -DQNAP' --prefix=/root/daily_build/64_05/4.4.1/Model/TS-X72/build/RootFS/usr/local/medialibrary
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
但是,当我再尝试
ffmpeg ---enable-libx264
然后我收到一条错误消息:
Unrecognized option '--enable-libx264'.
Error splitting the argument list: Option not found
我是否需要以某种方式更改FFMPEG的配置或首先运行其他配置选项,或者启用libx264的调用是否有问题?
答案 0 :(得分:0)
您使用的是不支持libx264的版本(就像提到的Nikos一样)(版本也相当旧)
您必须使用所需的编解码器重新编译它。
您可以尝试使用以下脚本,也可以自己编译。
我建议您这样做,因为您需要自己构建一个,如果最近使用了NVIDIA卡--enable-nvenc并使用h264_nvenc而不是libx264进行编码,还可以增加对硬件编码器/解码器的支持,以减少CPU开销。 / p>
最终思想-OBS是否可以满足您的需求?
OBS流媒体信息
https://www.digitaltrends.com/computing/how-to-live-stream-on-youtube-with-obs/
编译信息..
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
脚本
https://gist.github.com/silverkorn/db5451f836e2bf9dea2a8358475eb5f4
答案 1 :(得分:0)
您的ffmpeg
已启用libx264。参考configuration
行,您会看到列出了--enable-libx264
。
要使用它:
ffmpeg -i input -c:v libx264 output.mp4
要将MP4文件流式传输到YouTube:
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -b:v 4000k -maxrate 4000k -bufsize 8000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp://youtube