通过ffmpeg推送到rtmp

作者:zhuge···预计阅读 6 分钟·5,668 阅读·0 评论
通过ffmpeg推送到rtmp

rtmp服务器

docker run -d \
  --name rtmp-server \
  -p 1935:1935 \
  --restart unless-stopped \
  docker.cnb.cool/vxlife/rtmp-server:latest

推送

ffmpeg -re -stream_loop -1 -i "~/dance1.mp4"   -c:v libx264 -preset ultrafast -g 60 -keyint_min 60   -vf "scale=1280:720,fps=30"   -c:a aac -b:v 2000k -b:a 128k   -f flv "rtmp://192.168.200.23/live/stream-12345678"
ffmpeg -y -i "rtmp://192.168.200.116/live/stream-123456" -loop 1 -i "E:\download\1mc2k12000as0xh7u2414_W_1080_808_R5_D.jpg" -filter_complex "[1:v]scale=1080:1920[bg];[0:v]scale=1080:1920,chromakey=color=green:similarity=0.15:blend=0.01[ckout];[bg][ckout]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[out]" -map "[out]" -map 0:a? -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 128k -f flv "rtmp://192.168.200.116/live/studio1"

基础播放命令

ffplay "rtmp://192.168.200.23/live/stream-12345678"

调试参数(关键)

  1. 显示详细日志(定位错误原因)
ffplay -loglevel debug "rtmp://192.168.200.23/live/stream-12345678"
  1. 禁用缓冲(减少延迟,快速暴露问题)
ffplay -fflags nobuffer "rtmp://192.168.200.23/live/stream-12345678"
  1. 强制指定解码器(解决解码器兼容性)
ffplay -vcodec h264 "rtmp://192.168.200.23/live/stream-12345678"
  1. 禁用音频(测试纯视频流)
ffplay -an "rtmp://192.168.200.23/live/stream-12345678"
  1. 禁用视频(测试纯音频流)
ffplay -vn "rtmp://192.168.200.23/live/stream-12345678"

安装ffmpeg

# add-apt-repository 不存在,运行下面的
# apt install software-properties-common
sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg7
sudo apt update
sudo apt install ffmpeg

相关文章

评论

加载中...