创建 RTSP 流并使用 MediaMTX 将其转换为 WebRTC

问题描述 投票:0回答:1

我正在尝试使用 ffmpeg 创建 RTSP 流,并使用 MediaMTX 在浏览器(WebRTC)中提供视频服务。 实现这一目标的正确方法是什么?

(注意:我在 Windows 机器上使用 wsl2 ubuntu)

我尝试过的:

跑步媒体MTX:

sudo docker run --rm -it -p 8554:8554 -p 8889:8889 bluenviron/mediamtx

运行 ffmpeg:

ffmpeg -stream_loop -1 -re -i ./Big_Buck_Bunny.mp4 -c:v copy -f rtsp rtsp://localhost:8554/output

出现错误:

向复用器提交数据包时出错:管道损坏

尝试使用 TCP 标志运行 ffmpeg 时:

ffmpeg -stream_loop -1 -re -i ./Big_Buck_Bunny.mp4 -c:v copy -rtsp_transport tcp -f rtsp rtsp://localhost:8554/output

MediaMTX 日志:

已关闭:WebRTC 不支持带有 B 帧的 H264 流

ffmpeg webrtc rtsp rtsp-server
1个回答
0
投票

通过将编解码器设置为 libx264 并将最大 B 帧设置为 0 来修复:

ffmpeg -stream_loop -1 -re -i ./video.mp4 -c:v libx264 -bf 0 -rtsp_transport tcp -f rtsp rtsp://localhost:8554/output
© www.soinside.com 2019 - 2024. All rights reserved.