我使用 nginx 构建流服务器,并且可以使用以下命令将 MP4 推送到 rtmp 流中:
ffmpeg -re -i /mnt/hls/m7.mp4 -vcodec libx264 -vprofile baseline -g 30 -acodec aac -strict -2 -f flv rtmp://127.0.0.1/live
现在我想用rtsp格式推送:
ffmpeg -re -i /mnt/hls/m7.mp4 -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live
遇到的错误信息:
[tcp @ 0x55c7d6a157c0] Connection to tcp://127.0.0.1:554?timeout=0 failed: Connection refused
Could not write header for output file #0 (incorrect codec parameters ?): Connection refused
Error initializing output stream 0:0 --
[aac @ 0x55c7d65b6500] Qavg: nan
[aac @ 0x55c7d65b6500] 1 frames left in the queue on closing
Conversion failed!
答案1
不是这样的seems that you remove or missing the correct encoding value
。
我的 vps 上没有构建 rtsp 服务器,只有 rtmp 服务器嵌入在 nginx 中。
url="https://github.com/aler9/rtsp-simple-server/releases/download/v0.18.2/rtsp-simple-server_v0.18.2_linux_amd64.tar.gz"
curl -L $url -O
tar -xzf rtsp-simple-server_v0.18.2_linux_amd64.tar.gz
./rtsp-simple-server
现在我们可以使用ffmpeg在服务器上推送rtsp流:
ffmpeg -re -i /mnt/hls/m7.mp4 -f rtsp -rtsp_transport tcp rtsp://127.0.0.1/live
它运行良好!