Can*_*ndy 6 video ffmpeg streaming rtsp
所以我已经能够成功地将 RTP 视频流从我的服务器发送到 LAN 上另一个系统上的客户端并使用 ffplay 播放它。我现在想使用 RTSP 在同一网络上发送视频,以便客户端可以接收视频并可以有其他选项,例如暂停视频等。 谁能给我一个通用指南或指向我可以帮助我的资源完成我的任务?
更新:
我试过这些命令:
ffmpeg -re -i input -f rtsp -rtsp_transport tcp rtsp://localhost:8888/live.sdp
ffplay -rtsp_flags listen rtsp://localhost:8888/live.sdp
Run Code Online (Sandbox Code Playgroud)
它确实开始实时流式传输视频,但我实际上看不到任何控制媒体流的选项,例如播放、录制等!
注意:我目前用于 RTSP 的 .sdp 文件与我用于 RTP 流的文件相同。
小智 5
FWIW,我能够按照以下步骤使用simple-rtsp-server和 ffmpeg设置本地 RTSP 服务器以进行测试:
rtsp-simple-server.yml使用这一行调用的 RTSP 服务器创建一个配置文件:
protocols: [tcp]
Run Code Online (Sandbox Code Playgroud)
$ docker run --rm -it -v $PWD/rtsp-simple-server.yml:/rtsp-simple-server.yml -p 8554:8554 aler9/rtsp-simple-server
Run Code Online (Sandbox Code Playgroud)
$ ffmpeg -re -stream_loop -1 -i test.mp4 -f rtsp -rtsp_transport tcp rtsp://localhost:8554/live.stream
Run Code Online (Sandbox Code Playgroud)
运行后,您可以使用 ffplay 查看流:
$ ffplay -rtsp_transport tcp rtsp://localhost:8554/live.stream
Run Code Online (Sandbox Code Playgroud)
请注意,simple-rtsp-server也可以处理 UDP 流(iso TCP),但是将服务器作为 Docker 容器运行会很棘手。