使用FFmpeg结合srs4将rtsp流转换为FLV/HLS

发布于 2022-10-17  1607 次阅读


第一步

通过Docker pull 安装 FFmpeg 和 srs 4

docker pull jrottenberg/ffmpeg

docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4

这样一来两个Image就有了。

第二步

分别启动 srs4 和 FFmpeg

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080     registry.cn-hangzhou.aliyuncs.com/ossrs/srs:4 ./objs/srs -c conf/docker.conf

docker run -it --name app_ffmpeg -p 8181:8080 --entrypoint='bash' jrottenberg/ffmpeg

第三步

由于使用了 entrypoint bash , 所以此时应该已经进入了 ffmpeg的 Container里。

尝试使用一个测试的在线流 , 这里我选择了

[伊拉克 Al Sharqiya 电视台:rtmp://ns8.indexforce.com/home/mystream]

输入转码指令

ffmpeg -re -i rtmp://ns8.indexforce.com/home/mystream  -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -acodec copy -f flv rtmp://localhost/hls/mystream -loglevel quiet

代表将FFmpeg这个伊拉克在线流转为hls输出到 localhost/hls/mystream

此时可以看到 srs4 的日志 捕获到了流

最后

登录 http://localhost:8080/

点击 SRS控制台

可以看到

点击 【视频流】 选项

就能看到你的转码视频流,点击前面的 蓝色ID,就能在线播放,同时你也能看到它给你的播放地址。。。