Message ID | CADxeRwmq+DuBxFz1Cxa=1gGNEBqHtXqM5nMu-taXA7xKeOSPMQ@mail.gmail.com |
---|---|
State | Superseded |
Headers | show |
2016-09-09 15:28 GMT+08:00 Aman Gupta <aman@tmm1.net>: > I tried your patch and TARGETDURATION is fixed, but it is still creating > some segments which are only 0.2s instead of 2s. > > Aman > > On Thu, Sep 8, 2016 at 8:14 PM, Steven Liu <lingjiujianke@gmail.com> > wrote: > >> This patch can merge with 1da00be009aa74400042bf470b9a5ffbd82a1c5e >> i have checked this modify: >> >> ./ffmpeg -i ~/facebook.mp4 -c copy -f segment -segment_time 2 >> -output_ts_offset 80 -segment_list output-test.m3u8 -v debug >> output-test-%03d.ts >> >> #EXTM3U >> #EXT-X-VERSION:3 >> #EXT-X-MEDIA-SEQUENCE:0 >> #EXT-X-ALLOW-CACHE:YES >> #EXT-X-TARGETDURATION:10 >> #EXTINF:4.120000, >> output-test-000.ts >> #EXTINF:7.840000, >> output-test-001.ts >> #EXTINF:4.200000, >> output-test-002.ts >> #EXTINF:2.920000, >> output-test-003.ts >> #EXTINF:1.840000, >> output-test-004.ts >> #EXTINF:2.240000, >> output-test-005.ts >> #EXTINF:2.000000, >> output-test-006.ts >> #EXTINF:3.560000, >> >> >> [root@localhost linux]# ffmpeg -i output-test.m3u8 >> ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg >> developers >> built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) >> configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 >> --enable-libfaac --enable-gpl --enable-nonfree >> libavutil 55. 28.100 / 55. 28.100 >> libavcodec 57. 48.102 / 57. 48.102 >> libavformat 57. 41.100 / 57. 41.100 >> libavdevice 57. 0.102 / 57. 0.102 >> libavfilter 6. 47.100 / 6. 47.100 >> libswscale 4. 1.100 / 4. 1.100 >> libswresample 2. 1.100 / 2. 1.100 >> libpostproc 54. 0.100 / 54. 0.100 >> Input #0, hls,applehttp, from 'output-test.m3u8': >> Duration: 00:03:21.04, start: 81.400000, bitrate: 0 kb/s >> Program 0 >> Metadata: >> variant_bitrate : 0 >> Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, >> 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >> Stream #0:1: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, >> 5.1(side), fltp, 384 kb/s >> At least one output file must be specified >> >> >> >> [root@localhost linux]# ffmpeg -i output-test-000.ts -i >> output-test-001.ts >> ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg >> developers >> built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) >> configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 >> --enable-libfaac --enable-gpl --enable-nonfree >> libavutil 55. 28.100 / 55. 28.100 >> libavcodec 57. 48.102 / 57. 48.102 >> libavformat 57. 41.100 / 57. 41.100 >> libavdevice 57. 0.102 / 57. 0.102 >> libavfilter 6. 47.100 / 6. 47.100 >> libswscale 4. 1.100 / 4. 1.100 >> libswresample 2. 1.100 / 2. 1.100 >> libpostproc 54. 0.100 / 54. 0.100 >> Input #0, mpegts, from 'output-test-000.ts': >> Duration: 00:00:04.12, start: 81.400000, bitrate: 1299 kb/s >> Program 1 >> Metadata: >> service_name : Service01 >> service_provider: FFmpeg >> Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), >> yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >> Stream #0:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 >> Hz, 5.1(side), fltp, 384 kb/s >> Input #1, mpegts, from 'output-test-001.ts': >> Duration: 00:00:07.90, start: 85.464000, bitrate: 1679 kb/s >> Program 1 >> Metadata: >> service_name : Service01 >> service_provider: FFmpeg >> Stream #1:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), >> yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >> Stream #1:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 >> Hz, 5.1(side), fltp, 384 kb/s >> At least one output file must be specified >> [root@localhost linux]# >> >> >> >> >> this commit is used for fix commit 1da00be009aa74400042bf470b9a5f >> fbd82a1c5e >> because the option initial_offset will deprecated >> >> Signed-off-by: Steven Liu <lingjiujianke@gmail.com> >> --- >> libavformat/segment.c | 5 +++++ >> 1 files changed, 5 insertions(+), 0 deletions(-) >> >> diff --git a/libavformat/segment.c b/libavformat/segment.c >> index 33a5cf0..252f8b1 100644 >> --- a/libavformat/segment.c >> +++ b/libavformat/segment.c >> @@ -885,6 +885,11 @@ calc_times: >> av_log(s, AV_LOG_VERBOSE, "segment:'%s' starts with packet >> stream:%d pts:%s pts_time:%s frame:%d\n", >> seg->avf->filename, pkt->stream_index, >> av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, >> &st->time_base), seg->frame_count); >> + seg->cut_pending = 0; >> + seg->cur_entry.index = seg->segment_idx + seg->segment_idx_wrap >> * seg->segment_idx_wrap_nb; >> + seg->cur_entry.start_time = (double)pkt->pts * >> av_q2d(st->time_base); >> + seg->cur_entry.start_pts = av_rescale_q(pkt->pts, st->time_base, >> AV_TIME_BASE_Q); >> + seg->cur_entry.end_time = seg->cur_entry.start_time; >> } >> >> av_log(s, AV_LOG_DEBUG, "stream:%d start_pts_time:%s pts:%s >> pts_time:%s dts:%s dts_time:%s", >> -- >> 1.7.1 >> > > ok, let me try your command line
2016-09-09 15:33 GMT+08:00 Steven Liu <lingjiujianke@gmail.com>: > > > 2016-09-09 15:28 GMT+08:00 Aman Gupta <aman@tmm1.net>: > >> I tried your patch and TARGETDURATION is fixed, but it is still creating >> some segments which are only 0.2s instead of 2s. >> >> Aman >> >> On Thu, Sep 8, 2016 at 8:14 PM, Steven Liu <lingjiujianke@gmail.com> >> wrote: >> >>> This patch can merge with 1da00be009aa74400042bf470b9a5ffbd82a1c5e >>> i have checked this modify: >>> >>> ./ffmpeg -i ~/facebook.mp4 -c copy -f segment -segment_time 2 >>> -output_ts_offset 80 -segment_list output-test.m3u8 -v debug >>> output-test-%03d.ts >>> >>> #EXTM3U >>> #EXT-X-VERSION:3 >>> #EXT-X-MEDIA-SEQUENCE:0 >>> #EXT-X-ALLOW-CACHE:YES >>> #EXT-X-TARGETDURATION:10 >>> #EXTINF:4.120000, >>> output-test-000.ts >>> #EXTINF:7.840000, >>> output-test-001.ts >>> #EXTINF:4.200000, >>> output-test-002.ts >>> #EXTINF:2.920000, >>> output-test-003.ts >>> #EXTINF:1.840000, >>> output-test-004.ts >>> #EXTINF:2.240000, >>> output-test-005.ts >>> #EXTINF:2.000000, >>> output-test-006.ts >>> #EXTINF:3.560000, >>> >>> >>> [root@localhost linux]# ffmpeg -i output-test.m3u8 >>> ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg >>> developers >>> built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) >>> configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 >>> --enable-libfaac --enable-gpl --enable-nonfree >>> libavutil 55. 28.100 / 55. 28.100 >>> libavcodec 57. 48.102 / 57. 48.102 >>> libavformat 57. 41.100 / 57. 41.100 >>> libavdevice 57. 0.102 / 57. 0.102 >>> libavfilter 6. 47.100 / 6. 47.100 >>> libswscale 4. 1.100 / 4. 1.100 >>> libswresample 2. 1.100 / 2. 1.100 >>> libpostproc 54. 0.100 / 54. 0.100 >>> Input #0, hls,applehttp, from 'output-test.m3u8': >>> Duration: 00:03:21.04, start: 81.400000, bitrate: 0 kb/s >>> Program 0 >>> Metadata: >>> variant_bitrate : 0 >>> Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, >>> 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >>> Stream #0:1: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, >>> 5.1(side), fltp, 384 kb/s >>> At least one output file must be specified >>> >>> >>> >>> [root@localhost linux]# ffmpeg -i output-test-000.ts -i >>> output-test-001.ts >>> ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg >>> developers >>> built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) >>> configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 >>> --enable-libfaac --enable-gpl --enable-nonfree >>> libavutil 55. 28.100 / 55. 28.100 >>> libavcodec 57. 48.102 / 57. 48.102 >>> libavformat 57. 41.100 / 57. 41.100 >>> libavdevice 57. 0.102 / 57. 0.102 >>> libavfilter 6. 47.100 / 6. 47.100 >>> libswscale 4. 1.100 / 4. 1.100 >>> libswresample 2. 1.100 / 2. 1.100 >>> libpostproc 54. 0.100 / 54. 0.100 >>> Input #0, mpegts, from 'output-test-000.ts': >>> Duration: 00:00:04.12, start: 81.400000, bitrate: 1299 kb/s >>> Program 1 >>> Metadata: >>> service_name : Service01 >>> service_provider: FFmpeg >>> Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), >>> yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >>> Stream #0:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 >>> Hz, 5.1(side), fltp, 384 kb/s >>> Input #1, mpegts, from 'output-test-001.ts': >>> Duration: 00:00:07.90, start: 85.464000, bitrate: 1679 kb/s >>> Program 1 >>> Metadata: >>> service_name : Service01 >>> service_provider: FFmpeg >>> Stream #1:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), >>> yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >>> Stream #1:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 >>> Hz, 5.1(side), fltp, 384 kb/s >>> At least one output file must be specified >>> [root@localhost linux]# >>> >>> >>> >>> >>> this commit is used for fix commit 1da00be009aa74400042bf470b9a5f >>> fbd82a1c5e >>> because the option initial_offset will deprecated >>> >>> Signed-off-by: Steven Liu <lingjiujianke@gmail.com> >>> --- >>> libavformat/segment.c | 5 +++++ >>> 1 files changed, 5 insertions(+), 0 deletions(-) >>> >>> diff --git a/libavformat/segment.c b/libavformat/segment.c >>> index 33a5cf0..252f8b1 100644 >>> --- a/libavformat/segment.c >>> +++ b/libavformat/segment.c >>> @@ -885,6 +885,11 @@ calc_times: >>> av_log(s, AV_LOG_VERBOSE, "segment:'%s' starts with packet >>> stream:%d pts:%s pts_time:%s frame:%d\n", >>> seg->avf->filename, pkt->stream_index, >>> av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, >>> &st->time_base), seg->frame_count); >>> + seg->cut_pending = 0; >>> + seg->cur_entry.index = seg->segment_idx + seg->segment_idx_wrap >>> * seg->segment_idx_wrap_nb; >>> + seg->cur_entry.start_time = (double)pkt->pts * >>> av_q2d(st->time_base); >>> + seg->cur_entry.start_pts = av_rescale_q(pkt->pts, >>> st->time_base, AV_TIME_BASE_Q); >>> + seg->cur_entry.end_time = seg->cur_entry.start_time; >>> } >>> >>> av_log(s, AV_LOG_DEBUG, "stream:%d start_pts_time:%s pts:%s >>> pts_time:%s dts:%s dts_time:%s", >>> -- >>> 1.7.1 >>> >> >> ok, let me try your command line > > ...... it's reproduced when encode by default(video:mpeg2video audio: mp2)
2016-09-09 16:10 GMT+08:00 Steven Liu <lingjiujianke@gmail.com>: > > > 2016-09-09 15:33 GMT+08:00 Steven Liu <lingjiujianke@gmail.com>: > >> >> >> 2016-09-09 15:28 GMT+08:00 Aman Gupta <aman@tmm1.net>: >> >>> I tried your patch and TARGETDURATION is fixed, but it is still creating >>> some segments which are only 0.2s instead of 2s. >>> >>> Aman >>> >>> On Thu, Sep 8, 2016 at 8:14 PM, Steven Liu <lingjiujianke@gmail.com> >>> wrote: >>> >>>> This patch can merge with 1da00be009aa74400042bf470b9a5ffbd82a1c5e >>>> i have checked this modify: >>>> >>>> ./ffmpeg -i ~/facebook.mp4 -c copy -f segment -segment_time 2 >>>> -output_ts_offset 80 -segment_list output-test.m3u8 -v debug >>>> output-test-%03d.ts >>>> >>>> #EXTM3U >>>> #EXT-X-VERSION:3 >>>> #EXT-X-MEDIA-SEQUENCE:0 >>>> #EXT-X-ALLOW-CACHE:YES >>>> #EXT-X-TARGETDURATION:10 >>>> #EXTINF:4.120000, >>>> output-test-000.ts >>>> #EXTINF:7.840000, >>>> output-test-001.ts >>>> #EXTINF:4.200000, >>>> output-test-002.ts >>>> #EXTINF:2.920000, >>>> output-test-003.ts >>>> #EXTINF:1.840000, >>>> output-test-004.ts >>>> #EXTINF:2.240000, >>>> output-test-005.ts >>>> #EXTINF:2.000000, >>>> output-test-006.ts >>>> #EXTINF:3.560000, >>>> >>>> >>>> [root@localhost linux]# ffmpeg -i output-test.m3u8 >>>> ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg >>>> developers >>>> built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) >>>> configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 >>>> --enable-libfaac --enable-gpl --enable-nonfree >>>> libavutil 55. 28.100 / 55. 28.100 >>>> libavcodec 57. 48.102 / 57. 48.102 >>>> libavformat 57. 41.100 / 57. 41.100 >>>> libavdevice 57. 0.102 / 57. 0.102 >>>> libavfilter 6. 47.100 / 6. 47.100 >>>> libswscale 4. 1.100 / 4. 1.100 >>>> libswresample 2. 1.100 / 2. 1.100 >>>> libpostproc 54. 0.100 / 54. 0.100 >>>> Input #0, hls,applehttp, from 'output-test.m3u8': >>>> Duration: 00:03:21.04, start: 81.400000, bitrate: 0 kb/s >>>> Program 0 >>>> Metadata: >>>> variant_bitrate : 0 >>>> Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, >>>> 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >>>> Stream #0:1: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, >>>> 5.1(side), fltp, 384 kb/s >>>> At least one output file must be specified >>>> >>>> >>>> >>>> [root@localhost linux]# ffmpeg -i output-test-000.ts -i >>>> output-test-001.ts >>>> ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg >>>> developers >>>> built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) >>>> configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 >>>> --enable-libfaac --enable-gpl --enable-nonfree >>>> libavutil 55. 28.100 / 55. 28.100 >>>> libavcodec 57. 48.102 / 57. 48.102 >>>> libavformat 57. 41.100 / 57. 41.100 >>>> libavdevice 57. 0.102 / 57. 0.102 >>>> libavfilter 6. 47.100 / 6. 47.100 >>>> libswscale 4. 1.100 / 4. 1.100 >>>> libswresample 2. 1.100 / 2. 1.100 >>>> libpostproc 54. 0.100 / 54. 0.100 >>>> Input #0, mpegts, from 'output-test-000.ts': >>>> Duration: 00:00:04.12, start: 81.400000, bitrate: 1299 kb/s >>>> Program 1 >>>> Metadata: >>>> service_name : Service01 >>>> service_provider: FFmpeg >>>> Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), >>>> yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >>>> Stream #0:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), >>>> 48000 Hz, 5.1(side), fltp, 384 kb/s >>>> Input #1, mpegts, from 'output-test-001.ts': >>>> Duration: 00:00:07.90, start: 85.464000, bitrate: 1679 kb/s >>>> Program 1 >>>> Metadata: >>>> service_name : Service01 >>>> service_provider: FFmpeg >>>> Stream #1:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), >>>> yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc >>>> Stream #1:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), >>>> 48000 Hz, 5.1(side), fltp, 384 kb/s >>>> At least one output file must be specified >>>> [root@localhost linux]# >>>> >>>> >>>> >>>> >>>> this commit is used for fix commit 1da00be009aa74400042bf470b9a5f >>>> fbd82a1c5e >>>> because the option initial_offset will deprecated >>>> >>>> Signed-off-by: Steven Liu <lingjiujianke@gmail.com> >>>> --- >>>> libavformat/segment.c | 5 +++++ >>>> 1 files changed, 5 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/libavformat/segment.c b/libavformat/segment.c >>>> index 33a5cf0..252f8b1 100644 >>>> --- a/libavformat/segment.c >>>> +++ b/libavformat/segment.c >>>> @@ -885,6 +885,11 @@ calc_times: >>>> av_log(s, AV_LOG_VERBOSE, "segment:'%s' starts with packet >>>> stream:%d pts:%s pts_time:%s frame:%d\n", >>>> seg->avf->filename, pkt->stream_index, >>>> av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, >>>> &st->time_base), seg->frame_count); >>>> + seg->cut_pending = 0; >>>> + seg->cur_entry.index = seg->segment_idx + >>>> seg->segment_idx_wrap * seg->segment_idx_wrap_nb; >>>> + seg->cur_entry.start_time = (double)pkt->pts * >>>> av_q2d(st->time_base); >>>> + seg->cur_entry.start_pts = av_rescale_q(pkt->pts, >>>> st->time_base, AV_TIME_BASE_Q); >>>> + seg->cur_entry.end_time = seg->cur_entry.start_time; >>>> } >>>> >>>> av_log(s, AV_LOG_DEBUG, "stream:%d start_pts_time:%s pts:%s >>>> pts_time:%s dts:%s dts_time:%s", >>>> -- >>>> 1.7.1 >>>> >>> >>> ok, let me try your command line >> >> > ...... > it's reproduced when encode by default(video:mpeg2video audio: mp2) > > Ha, interesting, /ffmpeg -ss 20 -i ~/Movies/objectC/facebook.mp4 -g 50 -f segment -segment_time 2 -segment_start_number 10 -output_ts_offset 40 -segment_list output-test.m3u8 -v debug output-test-%03d.ts no problem ./ffmpeg -ss 20 -i ~/Movies/objectC/facebook.mp4 -c:v mpeg2video -g 50 -f segment -segment_time 2 -segment_start_number 10 -output_ts_offset 40 -segment_list output-test.m3u8 -v debug output-test-%03d.ts no problem ./ffmpeg -ss 20 -i ~/Movies/objectC/facebook.mp4 -c:v libx264 -g 50 -f segment -segment_time 2 -segment_start_number 10 -output_ts_offset 40 -segment_list output-test.m3u8 -v debug output-test-%03d.ts no problem ./ffmpeg -ss 20 -i ~/Movies/objectC/facebook.mp4 -c copy -f segment -segment_time 2 -segment_start_number 10 -output_ts_offset 40 -segment_list output-test.m3u8 -v debug output-test-%03d.ts no problem ./ffmpeg -ss 20 -i ~/Movies/objectC/facebook.mp4 -f segment -segment_time 2 -segment_start_number 10 -output_ts_offset 40 -segment_list output-test.m3u8 -v debug output-test-%03d.ts reproduced
diff --git a/libavformat/segment.c b/libavformat/segment.c index 33a5cf0..252f8b1 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -885,6 +885,11 @@ calc_times: av_log(s, AV_LOG_VERBOSE, "segment:'%s' starts with packet stream:%d pts:%s pts_time:%s frame:%d\n", seg->avf->filename, pkt->stream_index, av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &st->time_base), seg->frame_count); + seg->cut_pending = 0; + seg->cur_entry.index = seg->segment_idx + seg->segment_idx_wrap * seg->segment_idx_wrap_nb; + seg->cur_entry.start_time = (double)pkt->pts * av_q2d(st->time_base); + seg->cur_entry.start_pts = av_rescale_q(pkt->pts, st->time_base,
This patch can merge with 1da00be009aa74400042bf470b9a5ffbd82a1c5e i have checked this modify: ./ffmpeg -i ~/facebook.mp4 -c copy -f segment -segment_time 2 -output_ts_offset 80 -segment_list output-test.m3u8 -v debug output-test-%03d.ts #EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:10 #EXTINF:4.120000, output-test-000.ts #EXTINF:7.840000, output-test-001.ts #EXTINF:4.200000, output-test-002.ts #EXTINF:2.920000, output-test-003.ts #EXTINF:1.840000, output-test-004.ts #EXTINF:2.240000, output-test-005.ts #EXTINF:2.000000, output-test-006.ts #EXTINF:3.560000, [root@localhost linux]# ffmpeg -i output-test.m3u8 ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 48.102 / 57. 48.102 libavformat 57. 41.100 / 57. 41.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 47.100 / 6. 47.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, hls,applehttp, from 'output-test.m3u8': Duration: 00:03:21.04, start: 81.400000, bitrate: 0 kb/s Program 0 Metadata: variant_bitrate : 0 Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s At least one output file must be specified [root@localhost linux]# ffmpeg -i output-test-000.ts -i output-test-001.ts ffmpeg version N-80917-ga1a240b Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) configuration: --prefix=/usr/ --libdir=/usr/lib64 --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 48.102 / 57. 48.102 libavformat 57. 41.100 / 57. 41.100 libavdevice 57. 0.102 / 57. 0.102 libavfilter 6. 47.100 / 6. 47.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mpegts, from 'output-test-000.ts': Duration: 00:00:04.12, start: 81.400000, bitrate: 1299 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s Input #1, mpegts, from 'output-test-001.ts': Duration: 00:00:07.90, start: 85.464000, bitrate: 1679 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #1:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #1:1[0x101](und): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s At least one output file must be specified [root@localhost linux]# this commit is used for fix commit 1da00be009aa74400042bf470b9a5ffbd82a1c5e because the option initial_offset will deprecated Signed-off-by: Steven Liu <lingjiujianke@gmail.com> --- libavformat/segment.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) AV_TIME_BASE_Q); + seg->cur_entry.end_time = seg->cur_entry.start_time; } av_log(s, AV_LOG_DEBUG, "stream:%d start_pts_time:%s pts:%s pts_time:%s dts:%s dts_time:%s", -- 1.7.1