【发布时间】:2016-05-27 01:31:31
【问题描述】:
我正在通过管道将处理后的视频从 openCV 传递到 ffmpeg 这是代码
./OpenCV & \
tail -n +0 -f out.avi | ffmpeg -i pipe:0 -hls_time 1 -hls_list_size 0 -hls_wrap 10 -hls_segment_filename '%03d.ts' stream.m3u8
我的问题是输出的 .ts 文件没有统一的持续时间,它们在文件之间更改。
这些通常很长,比如 60 秒。这意味着连接客户端必须等待第一个流完成,然后才能创建播放列表文件 (.m3u8) 文件。因此,在本例中,它们比实时视频晚 60 秒左右,如果下一个 .ts 文件更大,则流停止直到完成。如果客户端在创建下一个 .ts 文件之前尝试播放,则会播放第一个 .ts 文件。
openCV 的帧速率是每秒 1 帧。
tail 将名为 (out.avi) 的 openCV 的输出文件更改为标准输出。
任何帮助都会很棒。
【问题讨论】:
标签: linux bash opencv ffmpeg http-live-streaming