Opened 13 years ago
Closed 11 years ago
#2263 closed enhancement (fixed)
Read second SeekHead in Matroska files
| Reported by: | eelco | Owned by: | |
|---|---|---|---|
| Priority: | wish | Component: | avformat |
| Version: | git-master | Keywords: | mkv h264 bounty |
| Cc: | rodger.combs@gmail.com | Blocked By: | |
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
I have an MKV file for which using -ss is very slow. It plays fine in players like VLC and MplayerX.
Normally, FFmpeg jumps to the keyframe before the seeking point and starts decoding from there. With this file, it seems to start at the beginning.
The sample file included is the first 15MB of a larger file. Seeking to a later point in the file is even slower.
ffprobe information (note there is a keyframe at 10.427)
> ./ffprobe -of compact -show_frames ~/Desktop/ffmpeg-ss-bug/slow-ss.mkv | grep 'video|key_frame=1'
ffprobe version N-49823-g7ff1a4b Copyright (c) 2007-2013 the FFmpeg developers
built on Feb 12 2013 15:45:24 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Users/eelco/Projects/Beamer/FFmpeg/build --enable-gpl --enable-version3 --enable-libx264 --disable-shared --enable-static --enable-libtheora --enable-libvorbis --enable-libvo-aacenc --disable-doc --extra-cflags='-DMACOSX_DEPLOYMENT_TARGET=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6 -I/Users/eelco/Projects/Beamer/FFmpeg/build/include' --extra-ldflags='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6 -L/Users/eelco/Projects/Beamer/FFmpeg/build/lib'
libavutil 52. 17.101 / 52. 17.101
libavcodec 54. 91.102 / 54. 91.102
libavformat 54. 62.100 / 54. 62.100
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 37.101 / 3. 37.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, matroska,webm, from '/Users/eelco/Desktop/ffmpeg-ss-bug/slow-ss.mkv':
Metadata:
creation_time : 2012-12-09 16:32:15
Duration: 01:33:24.19, start: 0.000000, bitrate: 21 kb/s
Chapter #0.0: start 0.000000, end 316.316000
Metadata:
title : 00:00:00.000
Chapter #0.1: start 316.316000, end 651.985000
Metadata:
title : 00:05:16.316
Chapter #0.2: start 651.985000, end 1186.310000
Metadata:
title : 00:10:51.985
Chapter #0.3: start 1186.310000, end 1669.835000
Metadata:
title : 00:19:46.310
Chapter #0.4: start 1669.835000, end 1970.552000
Metadata:
title : 00:27:49.835
Chapter #0.5: start 1970.552000, end 2434.974000
Metadata:
title : 00:32:50.552
Chapter #0.6: start 2434.974000, end 2811.976000
Metadata:
title : 00:40:34.974
Chapter #0.7: start 2811.976000, end 3120.534000
Metadata:
title : 00:46:51.976
Chapter #0.8: start 3120.534000, end 3535.157000
Metadata:
title : 00:52:00.534
Chapter #0.9: start 3535.157000, end 3623.411000
Metadata:
title : 00:58:55.157
Chapter #0.10: start 3623.411000, end 3859.314000
Metadata:
title : 01:00:23.411
Chapter #0.11: start 3859.314000, end 4259.672000
Metadata:
title : 01:04:19.314
Chapter #0.12: start 4259.672000, end 4530.317000
Metadata:
title : 01:10:59.672
Chapter #0.13: start 4530.317000, end 4869.782000
Metadata:
title : 01:15:30.317
Chapter #0.14: start 4869.782000, end 4968.630000
Metadata:
title : 01:21:09.782
Chapter #0.15: start 4968.630000, end 5604.192000
Metadata:
title : 01:22:48.630
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: truehd, 48000 Hz, 7.1, s32
Metadata:
title : English TRUE-HD
Stream #0:2(swe): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
Metadata:
title : Swedish AC3
Stream #0:3(swe): Subtitle: dvd_subtitle (default)
Metadata:
title : Swedish
Stream #0:4(eng): Subtitle: dvd_subtitle
Metadata:
title : English
frame|media_type=video|key_frame=1|pkt_pts=0|pkt_pts_time=0.000000|pkt_dts=0|pkt_dts_time=0.000000|pkt_duration=N/A|pkt_duration_time=N/A|pkt_pos=6670|pkt_size=148182|width=1920|height=1080|pix_fmt=yuv420p|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=0|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=3
frame|media_type=video|key_frame=1|pkt_pts=10427|pkt_pts_time=10.427000|pkt_dts=10427|pkt_dts_time=10.427000|pkt_duration=41|pkt_duration_time=0.041000|pkt_pos=13743718|pkt_size=99527|width=1920|height=1080|pix_fmt=yuv420p|sample_aspect_ratio=1:1|pict_type=I|coded_picture_number=250|display_picture_number=0|interlaced_frame=0|top_field_first=0|repeat_pict=0|reference=3
[matroska,webm @ 0x101806600] Read error
timing of -ss (about 6-8x slower than other MKVs)
> time ./ffmpeg "-ss" "11" "-i" ~/Desktop/ffmpeg-ss-bug/slow-ss.mkv "-f" "image2" "-vframes" "1" /dev/null
ffmpeg version N-49823-g7ff1a4b Copyright (c) 2000-2013 the FFmpeg developers
built on Feb 12 2013 15:45:24 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Users/eelco/Projects/Beamer/FFmpeg/build --enable-gpl --enable-version3 --enable-libx264 --disable-shared --enable-static --enable-libtheora --enable-libvorbis --enable-libvo-aacenc --disable-doc --extra-cflags='-DMACOSX_DEPLOYMENT_TARGET=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6 -I/Users/eelco/Projects/Beamer/FFmpeg/build/include' --extra-ldflags='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6 -L/Users/eelco/Projects/Beamer/FFmpeg/build/lib'
libavutil 52. 17.101 / 52. 17.101
libavcodec 54. 91.102 / 54. 91.102
libavformat 54. 62.100 / 54. 62.100
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 37.101 / 3. 37.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, matroska,webm, from '/Users/eelco/Desktop/ffmpeg-ss-bug/slow-ss.mkv':
Metadata:
creation_time : 2012-12-09 16:32:15
Duration: 01:33:24.19, start: 0.000000, bitrate: 21 kb/s
Chapter #0.0: start 0.000000, end 316.316000
Metadata:
title : 00:00:00.000
Chapter #0.1: start 316.316000, end 651.985000
Metadata:
title : 00:05:16.316
Chapter #0.2: start 651.985000, end 1186.310000
Metadata:
title : 00:10:51.985
Chapter #0.3: start 1186.310000, end 1669.835000
Metadata:
title : 00:19:46.310
Chapter #0.4: start 1669.835000, end 1970.552000
Metadata:
title : 00:27:49.835
Chapter #0.5: start 1970.552000, end 2434.974000
Metadata:
title : 00:32:50.552
Chapter #0.6: start 2434.974000, end 2811.976000
Metadata:
title : 00:40:34.974
Chapter #0.7: start 2811.976000, end 3120.534000
Metadata:
title : 00:46:51.976
Chapter #0.8: start 3120.534000, end 3535.157000
Metadata:
title : 00:52:00.534
Chapter #0.9: start 3535.157000, end 3623.411000
Metadata:
title : 00:58:55.157
Chapter #0.10: start 3623.411000, end 3859.314000
Metadata:
title : 01:00:23.411
Chapter #0.11: start 3859.314000, end 4259.672000
Metadata:
title : 01:04:19.314
Chapter #0.12: start 4259.672000, end 4530.317000
Metadata:
title : 01:10:59.672
Chapter #0.13: start 4530.317000, end 4869.782000
Metadata:
title : 01:15:30.317
Chapter #0.14: start 4869.782000, end 4968.630000
Metadata:
title : 01:21:09.782
Chapter #0.15: start 4968.630000, end 5604.192000
Metadata:
title : 01:22:48.630
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: truehd, 48000 Hz, 7.1, s32
Metadata:
title : English TRUE-HD
Stream #0:2(swe): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
Metadata:
title : Swedish AC3
Stream #0:3(swe): Subtitle: dvd_subtitle (default)
Metadata:
title : Swedish
Stream #0:4(eng): Subtitle: dvd_subtitle
Metadata:
title : English
Output #0, image2, to '/dev/null':
Metadata:
encoder : Lavf54.62.100
Chapter #0.0: start 0.000000, end 305.316000
Metadata:
title : 00:00:00.000
Chapter #0.1: start 305.316000, end 640.985000
Metadata:
title : 00:05:16.316
Chapter #0.2: start 640.985000, end 1175.310000
Metadata:
title : 00:10:51.985
Chapter #0.3: start 1175.310000, end 1658.835000
Metadata:
title : 00:19:46.310
Chapter #0.4: start 1658.835000, end 1959.552000
Metadata:
title : 00:27:49.835
Chapter #0.5: start 1959.552000, end 2423.974000
Metadata:
title : 00:32:50.552
Chapter #0.6: start 2423.974000, end 2800.976000
Metadata:
title : 00:40:34.974
Chapter #0.7: start 2800.976000, end 3109.534000
Metadata:
title : 00:46:51.976
Chapter #0.8: start 3109.534000, end 3524.157000
Metadata:
title : 00:52:00.534
Chapter #0.9: start 3524.157000, end 3612.411000
Metadata:
title : 00:58:55.157
Chapter #0.10: start 3612.411000, end 3848.314000
Metadata:
title : 01:00:23.411
Chapter #0.11: start 3848.314000, end 4248.672000
Metadata:
title : 01:04:19.314
Chapter #0.12: start 4248.672000, end 4519.317000
Metadata:
title : 01:10:59.672
Chapter #0.13: start 4519.317000, end 4858.782000
Metadata:
title : 01:15:30.317
Chapter #0.14: start 4858.782000, end 4957.630000
Metadata:
title : 01:21:09.782
Chapter #0.15: start 4957.630000, end 5593.192000
Metadata:
title : 01:22:48.630
Stream #0:0(eng): Video: mjpeg, yuvj420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 23.98 tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mjpeg)
Press [q] to stop, [?] for help
frame= 1 fps=0.5 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A dup=0 drop=262
video:47kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.045473%
2.20 real 6.15 user 0.13 sys
See also #2245.
Attachments (1)
Change History (18)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
Iiuc, the sample you used is not complete but was cut with "dd".
Is the same problem also reproducible with the uncut (complete) mkv file?
comment:3 by , 13 years ago
Yes. I originally noticed the problem because I was trying to make a frame image at about 30 minutes, which took several minutes.
comment:5 by , 13 years ago
I’m uploading it now as 2263-slow-ss-full.mkv but it’s 11GB, so it will take a while :)
comment:7 by , 13 years ago
| Component: | undetermined → avformat |
|---|---|
| Status: | new → open |
I can confirm that seeking in the file takes ridiculously long, this can be fixed by remuxing (both FFmpeg and mkvmerge). I don't know enough about Matroska to explain what is "wrong" about the file but mkvalidator reports the following:
$ mkvalidator 2263-slow-ss-full.mkv
WRN103: Unnecessary secondary SeekHead was found at 11568150341
WRN861: The SegmentInfo is not referenced in the main SeekHead
WRN861: The TrackInfo is not referenced in the main SeekHead
WRN861: The Cues is not referenced in the main SeekHead
WRN861: The Chapters is not referenced in the main SeekHead
WRN0D0: There are 4618 bytes of void data................................
mkvalidator 0.4.0: the file appears to be valid
file created with libebml v1.2.3 + libmatroska v1.3.0 / mkvmerge v5.8.0 ('No Sleep / Pillow') built on Sep 2 2012 15:37:04
$ time ffmpeg -ss 0:30:00 -i 2263-slow-ss-full.mkv -vframes 1 out.png
ffmpeg version N-49888-gafe30fe Copyright (c) 2000-2013 the FFmpeg developers
built on Feb 13 2013 12:23:23 with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl --disable-indev=jack
libavutil 52. 17.101 / 52. 17.101
libavcodec 54. 91.103 / 54. 91.103
libavformat 54. 63.100 / 54. 63.100
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 37.101 / 3. 37.101
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, matroska,webm, from '2263-slow-ss-full.mkv':
Metadata:
creation_time : 2012-12-09 16:32:15
Duration: 01:33:24.19, start: 0.000000, bitrate: 16513 kb/s
Chapter #0.0: start 0.000000, end 316.316000
Metadata:
title : 00:00:00.000
Chapter #0.1: start 316.316000, end 651.985000
Metadata:
title : 00:05:16.316
Chapter #0.2: start 651.985000, end 1186.310000
Metadata:
title : 00:10:51.985
Chapter #0.3: start 1186.310000, end 1669.835000
Metadata:
title : 00:19:46.310
Chapter #0.4: start 1669.835000, end 1970.552000
Metadata:
title : 00:27:49.835
Chapter #0.5: start 1970.552000, end 2434.974000
Metadata:
title : 00:32:50.552
Chapter #0.6: start 2434.974000, end 2811.976000
Metadata:
title : 00:40:34.974
Chapter #0.7: start 2811.976000, end 3120.534000
Metadata:
title : 00:46:51.976
Chapter #0.8: start 3120.534000, end 3535.157000
Metadata:
title : 00:52:00.534
Chapter #0.9: start 3535.157000, end 3623.411000
Metadata:
title : 00:58:55.157
Chapter #0.10: start 3623.411000, end 3859.314000
Metadata:
title : 01:00:23.411
Chapter #0.11: start 3859.314000, end 4259.672000
Metadata:
title : 01:04:19.314
Chapter #0.12: start 4259.672000, end 4530.317000
Metadata:
title : 01:10:59.672
Chapter #0.13: start 4530.317000, end 4869.782000
Metadata:
title : 01:15:30.317
Chapter #0.14: start 4869.782000, end 4968.630000
Metadata:
title : 01:21:09.782
Chapter #0.15: start 4968.630000, end 5604.192000
Metadata:
title : 01:22:48.630
Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: truehd, 48000 Hz, 7.1, s32
Metadata:
title : English TRUE-HD
Stream #0:2(swe): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
Metadata:
title : Swedish AC3
Stream #0:3(swe): Subtitle: dvd_subtitle (default)
Metadata:
title : Swedish
Stream #0:4(eng): Subtitle: dvd_subtitle
Metadata:
title : English
Output #0, image2, to 'out.png':
Metadata:
encoder : Lavf54.63.100
Chapter #0.0: start 0.000000, end 170.552000
Metadata:
title : 00:27:49.835
Chapter #0.1: start 170.552000, end 634.974000
Metadata:
title : 00:32:50.552
Chapter #0.2: start 634.974000, end 1011.976000
Metadata:
title : 00:40:34.974
Chapter #0.3: start 1011.976000, end 1320.534000
Metadata:
title : 00:46:51.976
Chapter #0.4: start 1320.534000, end 1735.157000
Metadata:
title : 00:52:00.534
Chapter #0.5: start 1735.157000, end 1823.411000
Metadata:
title : 00:58:55.157
Chapter #0.6: start 1823.411000, end 2059.314000
Metadata:
title : 01:00:23.411
Chapter #0.7: start 2059.314000, end 2459.672000
Metadata:
title : 01:04:19.314
Chapter #0.8: start 2459.672000, end 2730.317000
Metadata:
title : 01:10:59.672
Chapter #0.9: start 2730.317000, end 3069.782000
Metadata:
title : 01:15:30.317
Chapter #0.10: start 3069.782000, end 3168.630000
Metadata:
title : 01:21:09.782
Chapter #0.11: start 3168.630000, end 3804.192000
Metadata:
title : 01:22:48.630
Stream #0:0(eng): Video: png, rgb24, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 23.98 tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> png)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A dup=0 drop=43155
video:4216kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000510%
real 2m42.727s
user 15m2.405s
sys 0m6.223s
comment:8 by , 13 years ago
| Priority: | normal → wish |
|---|---|
| Reproduced by developer: | set |
| Summary: | MKV: keyframe not used when using -ss on input? → Read second SeekHead in Matroska files |
| Type: | defect → enhancement |
The file has one SeekHead at the beginning and a second one at the end, FFmpeg only reads the first one (that apparently contains no reference to the second one). It is unknown how such a sample can be produced.
comment:9 by , 13 years ago
$ mkvinfo 2263-slow-ss-full.mkv
+ EBML head
|+ EBML version: 1
|+ EBML read version: 1
|+ EBML maximum ID length: 4
|+ EBML maximum size length: 8
|+ Doc type: matroska
|+ Doc type version: 2
|+ Doc type read version: 2
+ Segment, size 11568150356
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 28)
|+ Chapters
| + EditionEntry
| + ChapterAtom
| + ChapterUID: 4643754908665286289
| + ChapterTimeStart: 00:00:00.000000000
| + ChapterDisplay
| + ChapterString: 00:00:00.000
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 776680746040114083
| + ChapterTimeStart: 00:05:16.316000000
| + ChapterDisplay
| + ChapterString: 00:05:16.316
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 7936573191005558681
| + ChapterTimeStart: 00:10:51.985000000
| + ChapterDisplay
| + ChapterString: 00:10:51.985
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 6360485584497157554
| + ChapterTimeStart: 00:19:46.310000000
| + ChapterDisplay
| + ChapterString: 00:19:46.310
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 2145345886638826677
| + ChapterTimeStart: 00:27:49.835000000
| + ChapterDisplay
| + ChapterString: 00:27:49.835
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 4051148929050008205
| + ChapterTimeStart: 00:32:50.552000000
| + ChapterDisplay
| + ChapterString: 00:32:50.552
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 6076738213057105045
| + ChapterTimeStart: 00:40:34.974000000
| + ChapterDisplay
| + ChapterString: 00:40:34.974
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 12712555268836147128
| + ChapterTimeStart: 00:46:51.976000000
| + ChapterDisplay
| + ChapterString: 00:46:51.976
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 13765820060876751293
| + ChapterTimeStart: 00:52:00.534000000
| + ChapterDisplay
| + ChapterString: 00:52:00.534
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 139259153207598227
| + ChapterTimeStart: 00:58:55.157000000
| + ChapterDisplay
| + ChapterString: 00:58:55.157
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 12150923411689504900
| + ChapterTimeStart: 01:00:23.411000000
| + ChapterDisplay
| + ChapterString: 01:00:23.411
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 1907332086412795570
| + ChapterTimeStart: 01:04:19.314000000
| + ChapterDisplay
| + ChapterString: 01:04:19.314
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 18177291500090400424
| + ChapterTimeStart: 01:10:59.672000000
| + ChapterDisplay
| + ChapterString: 01:10:59.672
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 13764324979318202552
| + ChapterTimeStart: 01:15:30.317000000
| + ChapterDisplay
| + ChapterString: 01:15:30.317
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 6136948946309581968
| + ChapterTimeStart: 01:21:09.782000000
| + ChapterDisplay
| + ChapterString: 01:21:09.782
| + ChapterLanguage: und
| + ChapterAtom
| + ChapterUID: 6007540025134916797
| + ChapterTimeStart: 01:22:48.630000000
| + ChapterDisplay
| + ChapterString: 01:22:48.630
| + ChapterLanguage: und
| + EditionUID: 14146429012029870465
|+ EbmlVoid (size: 3341)
|+ Segment information
| + Timecode scale: 1000000
| + Muxing application: libebml v1.2.3 + libmatroska v1.3.0
| + Writing application: mkvmerge v5.8.0 ('No Sleep / Pillow') built on Sep 2 2012 15:37:04
| + Duration: 5604.192s (01:33:24.192)
| + Date: Sun Dec 9 16:32:15 2012 UTC
| + Segment UID: 0x86 0x37 0x2f 0xf9 0xe5 0x6a 0x1e 0x85 0x88 0x3e 0x67 0xc2 0xa5 0xa6 0x1f 0xb3
|+ Segment tracks
| + A track
| + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
| + Track UID: 1
| + Track type: video
| + Lacing flag: 0
| + MinCache: 1
| + Codec ID: V_MPEG4/ISO/AVC
| + CodecPrivate, length 41 (h.264 profile: High @L4.1)
| + Default duration: 41.708ms (23.976 frames/fields per second for a video track)
| + Video track
| + Pixel width: 1920
| + Pixel height: 1080
| + Display width: 1920
| + Display height: 1080
| + Content encodings
| + Content encoding
| + Content compression
| + Algorithm: 3 (header removal)
| + Settings: length 1, data: 0x00
| + A track
| + Track number: 2 (track ID for mkvmerge & mkvextract: 1)
| + Track UID: 124107657
| + Track type: audio
| + Default flag: 0
| + MinCache: 1
| + Codec ID: A_TRUEHD
| + Name: English TRUE-HD
| + Audio track
| + Sampling frequency: 48000
| + Channels: 8
| + A track
| + Track number: 3 (track ID for mkvmerge & mkvextract: 2)
| + Track UID: 2618188706
| + Track type: audio
| + Codec ID: A_AC3
| + Default duration: 32.000ms (31.250 frames/fields per second for a video track)
| + Language: swe
| + Name: Swedish AC3
| + Audio track
| + Sampling frequency: 48000
| + Channels: 6
| + Content encodings
| + Content encoding
| + Content compression
| + Algorithm: 3 (header removal)
| + Settings: length 2, data: 0x0b 0x77
| + A track
| + Track number: 4 (track ID for mkvmerge & mkvextract: 3)
| + Track UID: 3823762597
| + Track type: subtitles
| + Lacing flag: 0
| + Codec ID: S_VOBSUB
| + CodecPrivate, length 348
| + Language: swe
| + Name: Swedish
| + Content encodings
| + Content encoding
| + Content compression
| + A track
| + Track number: 5 (track ID for mkvmerge & mkvextract: 4)
| + Track UID: 556225960
| + Track type: subtitles
| + Default flag: 0
| + Lacing flag: 0
| + Codec ID: S_VOBSUB
| + CodecPrivate, length 348
| + Name: English
| + Content encodings
| + Content encoding
| + Content compression
|+ EbmlVoid (size: 1241)
|+ Cluster
by , 13 years ago
| Attachment: | seekhead-at-end.mkv added |
|---|
comment:10 by , 13 years ago
mosu has kindly produced a small sample that allows to reproduce the problem:
$ mkvmerge -o out.mkv seekhead-at-end.mkv
$ ffmpeg -ss 26.4 -i seekhead-at-end.mkv -vframes 1 outslow.png
ffmpeg version N-51078-g6128d33 Copyright (c) 2000-2013 the FFmpeg developers
built on Mar 19 2013 00:53:13 with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl --disable-indev=jack
libavutil 52. 19.101 / 52. 19.101
libavcodec 55. 1.100 / 55. 1.100
libavformat 55. 0.100 / 55. 0.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 47.103 / 3. 47.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, matroska,webm, from 'seekhead-at-end.mkv':
Metadata:
creation_time : 2013-03-18 12:09:06
Duration: 00:00:30.24, start: 0.000000, bitrate: 469 kb/s
Chapter #0.0: start 0.000000, end 15.000000
Metadata:
title : Chapter 01
Chapter #0.1: start 15.000000, end 30.241000
Metadata:
title : Chapter 02
Chapter #0.2: start 754.567000, end 30.241000
Metadata:
title : Chapter 03
Chapter #0.3: start 1200.000000, end 30.241000
Metadata:
title : Chapter 04
Chapter #0.4: start 3723.040000, end 30.241000
Metadata:
title : Chapter 05
Stream #0:0: Video: h264 (Main), yuv420p, 640x352 [SAR 1:1 DAR 20:11], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp (default)
Output #0, image2, to 'outslow.png':
Metadata:
encoder : Lavf55.0.100
Chapter #0.0: start 0.000000, end 3.841000
Metadata:
title : Chapter 02
Chapter #0.1: start 728.167000, end 3.841000
Metadata:
title : Chapter 03
Chapter #0.2: start 1173.600000, end 3.841000
Metadata:
title : Chapter 04
Chapter #0.3: start 3696.640000, end 3.841000
Metadata:
title : Chapter 05
Stream #0:0: Video: png, rgb24, 640x352 [SAR 1:1 DAR 20:11], q=2-31, 200 kb/s, 90k tbn, 23.98 tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> png)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A dup=0 drop=631
video:128kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.016844%
real 0m0.248s
user 0m0.827s
sys 0m0.021s
$ ffmpeg -ss 26.4 -i out.mkv -vframes 1 outfast.png
ffmpeg version N-51078-g6128d33 Copyright (c) 2000-2013 the FFmpeg developers
built on Mar 19 2013 00:53:13 with gcc 4.7 (SUSE Linux)
configuration: --enable-gpl --disable-indev=jack
libavutil 52. 19.101 / 52. 19.101
libavcodec 55. 1.100 / 55. 1.100
libavformat 55. 0.100 / 55. 0.100
libavdevice 55. 0.100 / 55. 0.100
libavfilter 3. 47.103 / 3. 47.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, matroska,webm, from 'out.mkv':
Metadata:
creation_time : 2013-03-18 23:50:20
Duration: 00:00:30.24, start: 0.000000, bitrate: 468 kb/s
Chapter #0.0: start 0.000000, end 15.000000
Metadata:
title : Chapter 01
Chapter #0.1: start 15.000000, end 30.241000
Metadata:
title : Chapter 02
Chapter #0.2: start 754.567000, end 30.241000
Metadata:
title : Chapter 03
Chapter #0.3: start 1200.000000, end 30.241000
Metadata:
title : Chapter 04
Chapter #0.4: start 3723.040000, end 30.241000
Metadata:
title : Chapter 05
Stream #0:0: Video: h264 (Main), yuv420p, 640x352 [SAR 1:1 DAR 20:11], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp (default)
Output #0, image2, to 'outfast.png':
Metadata:
encoder : Lavf55.0.100
Chapter #0.0: start 0.000000, end 3.841000
Metadata:
title : Chapter 02
Chapter #0.1: start 728.167000, end 3.841000
Metadata:
title : Chapter 03
Chapter #0.2: start 1173.600000, end 3.841000
Metadata:
title : Chapter 04
Chapter #0.3: start 3696.640000, end 3.841000
Metadata:
title : Chapter 05
Stream #0:0: Video: png, rgb24, 640x352 [SAR 1:1 DAR 20:11], q=2-31, 200 kb/s, 90k tbn, 23.98 tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> png)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A
video:128kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.016844%
real 0m0.040s
user 0m0.033s
sys 0m0.018s
comment:12 by , 12 years ago
| Keywords: | bounty added |
|---|
I’d like to offer a $100 bounty for implementing this.
comment:14 by , 11 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
Not quite. a3920181 is a partial fix that solves a more serious problem when -copyts or -c copy are used (wherein the seek operation previously would have no effect, and now proceeds somewhat slowly). I have a patch on the ML that fixes this slow-seeking issue caused by failure to read the second SeekHead, but it hasn't been applied yet because we need to double-check some edge cases first.
Oh, and a3920181 may speed up seeking in these files, but not by as much as reading the second SeekHead would.
comment:15 by , 11 years ago
| Cc: | added |
|---|
comment:16 by , 11 years ago
Is there still an issue remaining after cac2295b21519d5a5320fe0787b5fd2b65eb1f8c ?
comment:17 by , 11 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
No, this works! Thanks! I’ll contact wm4 regarding the bounty.



Example file uploaded to ftp://upload.ffmpeg.org/incoming as 2263-slow-ss.mkv