在发布此问题之前;我跟着这篇文章; https://ffmpeg.org/pipermail/ffmpeg-user/2013-November/018558.html我也试图找到解决我遇到问题的方法。
ffmpeg -v verbose -i "rtmp://domain.com:5080/stream1" -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 18 -profile:v baseline -maxrate 400k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 '/home/domain/public_html/hts-streams/stream1.m3u8'
以上是我尝试执行以将RTMP
流转换为.m3u8
的Ffmpeg命令。
然而,命令失败了,我将被退回;
我已将域名更改为 domain.com
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-libass --enable-libcdio --enable-libcelt --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 51. 35.100 / 51. 35.100
libavcodec 53. 61.100 / 53. 61.100
libavformat 53. 32.100 / 53. 32.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 61.100 / 2. 61.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
Parsing...
Parsed protocol: 0
Parsed host : domain.com
Parsed app : stream1
RTMP_Connect1, ... connected, handshaking
HandShake: Type Answer : 48
HandShake: Type mismatch: client sent 3, server answered 72
RTMP_Connect1, handshake failed.
rtmp://domain.com:5080/stream1: Operation not permitted
然后,由于握手失败,该命令无法转换流。造成这种情况的原因是什么?