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 (将#修改为@)