【问题标题】:Setting HLS segment times设置 HLS 分段时间
【发布时间】: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


    【解决方案1】:

    我知道我在回答我自己的问题,但我更改了下面的代码

    ./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 `
    

    ./OpenCV & \
    tail -n +0 -f out.avi  | ffmpeg -i pipe:0 -f hls -g 2 -hls_time 2 -hls_list_size 0 -hls_wrap 10 -hls_segment_filename '%03d.ts' stream.m3u8 `
    

    似乎成功了。

    【讨论】:

      猜你喜欢
      • 2018-07-18
      • 2018-01-22
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 2018-07-23
      • 2015-07-02
      • 1970-01-01
      • 2021-01-26
      相关资源
      最近更新 更多