微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FFmpeg HLS流-中断后重新流式传输时,为什么旧​​段的节目日期时间会更改

如何解决FFmpeg HLS流-中断后重新流式传输时,为什么旧​​段的节目日期时间会更改

以下是ffmpeg命令以流式传输数据。

ffmpeg -re -f avfoundation 
-framerate 30 -i 0 
-codec:v h264_videotoolBox -x264-params keyint=120:scenecut=0 
-codec:a copy -f hls 
-hls_list_size 60 
-hls_time 10 
-hls_flags delete_segments 
-hls_flags +append_list 
-hls_flags +discont_start 
-hls_flags +program_date_time 
-strftime 1 
-strftime_mkdir 1 
-hls_segment_filename 
'%Y%m%dT%H%M%s%z.ts' playlist.m3u8

以下是播放列表。m3u8内容生成了几秒钟。

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-disCONTINUITY
#EXT-X-disCONTINUITY
#EXTINF:10.000000,#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:07:53.000+0530
20201109T220753+0530.ts
#EXTINF:10.000000,#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:08:03.000+0530
20201109T220803+0530.ts
#EXT-X-ENDLIST

发生重播时(在重新启动流服务的情况下),较旧段的节目日期时间(在#EXT-X-disCONTINUITY之前)也会发生如下更改,这是意外的。

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-disCONTINUITY
#EXT-X-disCONTINUITY
#EXTINF:10.000000,#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:12:50.633+0530
20201109T220753+0530.ts
#EXTINF:10.000000,#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:13:00.633+0530
20201109T220803+0530.ts
#EXT-X-disCONTINUITY
#EXTINF:10.000000,#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:13:12.000+0530
20201109T221312+0530.ts
#EXTINF:5.400000,#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:13:22.000+0530
20201109T221322+0530.ts
#EXT-X-ENDLIST

为什么较早的段的节目日期时间应该更改?我们应该在ffmpeg命令中添加任何参数来处理吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。