我正在尝试使用openRTSP和ffmpeg以HLS格式记录rtsp流。 openRTSP 接收 rtsp 并管道到 ffmpeg 进行记录,
这是我使用的命令,工作正常
openRTSP -D 10 -v -t -c -b 800000 rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov | .././ffmpeg -r 15 -i - -codec copy -hls_list_size 65535 -hls_time 2 "./live.m3u8"
注意上面的commnad -v仅适用于视频。
但是现在我还需要录制音频,所以我删除了-v选项,但是视频没有被录制。它只是创建两个名为 audio-MPEG4-GENERIC-1
并video-H264-2
没有HLS视频文件。我认为管道有些问题。谁能帮我解决它。
我知道这是一个老问题,但它出现在今天的谷歌搜索中。既然我可以回答这个问题,我会的,对于任何未来的谷歌员工。
你根本不需要使用openRTSP。 ffmpeg可以很好地处理RTSP流。我最近为我的安全摄像头编写了一个直播摄像头流媒体网站。我用来生成 HLS 流的命令是这样的:
ffmpeg -v quiet -i 'rtsp://user:pass@192.168.1.110:554' -c:v copy -c:a copy
-bufsize 50k -pix_fmt yuv420p -flags -global_header -hls_time 5 -hls_list_size 3
-hls_flags delete_segments hls.m3u8
这将输出hls.m3u8
和所有hls.ts
文件。您可能需要根据特定需求使用其中一些参数。以下是一些关于标志的良好文档: FFmpeg 格式文档