侧边栏壁纸
  • 累计撰写 96 篇文章
  • 累计创建 43 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

尝试 ffmpeg 持续推送单张动态图片到 RTMP 失败

勤为径苦作舟
2025-02-26 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

Docker 启动 SRS

docker run -d --name srs -p 1935:11935 -p 1985:11985 -p 11248:8080 ossrs/srs

测试 RTMP 流是否可用

生成测试视频流推送到 RTMP 服务器:

ffmpeg -re -f lavfi -i testsrc=size=1280x720:rate=30 -c:v libx264 -preset ultrafast -f flv rtmp://localhost:11935/live/test

使用 ffprobe 测试:

ffprobe rtmp://localhost:11935/live/test

……
Input #0, flv, from 'rtmp://localhost:11935/live/test':
  Metadata:
    |RtmpSampleAccess: true
    encoder         : Lavf61.7.100
    server          : SRS/6.0.101(Hang)
    server_version  : 6.0.101
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Data: none
  Stream #0:1: Video: h264 (Constrained Baseline), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn
Unsupported codec with id 0 for input stream 0

使用 PotPlayer 或 VLC media player 播放rtmp://localhost:11935/live/test

尝试命令持续推送单张最新图片

推送单张图片到流:

ffmpeg -loop 1 -re -i "20250208081717.png" -c:v libx264 -tune stillimage -f flv rtmp://localhost:11935/live/test

使用 PotPlayer 播放正常。


尝试在 linux 上通过读取管道,但两次推送图片到管道之间间隔 0.1s 都会导致 ffmpeg 命令停止运行。

# 创建管道
mkfifo /tmp/img_pipe
# 从管道读取推送到 RTMP
ffmpeg -loop 1 -re -i /tmp/img_pipe -c:v libx264 -tune stillimage -f flv rtmp://localhost:1935/live/test

新终端推送图片到管道:

cat /tmp/20250208081717.png > /tmp/img_pipe

还尝试过实时修改固定文件内容也不行。

sad ending.

0

评论区