[FFmpeg-trac] #5872(undetermined:new): ffmpeg creates bad .mov when encoding hap video
FFmpeg
trac at avcodec.org
Thu Sep 29 16:41:03 EEST 2016
#5872: ffmpeg creates bad .mov when encoding hap video
-------------------------------------+-------------------------------------
Reporter: rich99 | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git-master | undetermined
Keywords: mov corrupt | Resolution:
hap | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by rich99):
Remuxing .mov to mkv also produces unplayable mkv.
{{{
ffmpeg -v 9 -loglevel 99 -i out_hap.mov -vcodec copy out_hap_2.mkv
ffmpeg version N-81784-g92de2c2 Copyright (c) 2000-2016 the FFmpeg
developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads
--enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-
bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-
gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b
--enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm
--enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-
libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-
libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex
--enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-
libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-
libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 30.100 / 55. 30.100
libavcodec 57. 58.100 / 57. 58.100
libavformat 57. 51.100 / 57. 51.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 63.100 / 6. 63.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 2.100 / 2. 2.100
libpostproc 54. 0.100 / 54. 0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument '99'.
Reading option '-i' ... matched as input file with argument 'out_hap.mov'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
('copy' to copy stream)) with argument 'copy'.
Reading option 'out_hap_2.mkv' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input file out_hap.mov.
Successfully parsed a group of options.
Opening an input file: out_hap.mov.
[file @ 0000000002613260] Setting default whitelist 'file,crypto'
Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] Format
mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 70797466 'ftyp'
parent:'root' sz: 20 8 274094
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] ISO: File Type Major Brand:
qt
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 65646977 'wide'
parent:'root' sz: 8 28 274094
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 7461646d 'mdat'
parent:'root' sz: 273060 36 274094
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 766f6f6d 'moov'
parent:'root' sz: 1006 273096 274094
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6468766d 'mvhd'
parent:'moov' sz: 108 8 998
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] time scale = 1000
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6b617274 'trak'
parent:'moov' sz: 857 116 998
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 64686b74 'tkhd'
parent:'trak' sz: 92 8 849
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 73746465 'edts'
parent:'trak' sz: 36 100 849
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 74736c65 'elst'
parent:'edts' sz: 28 8 28
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] track[0].edit_count = 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] duration=3000 time=0
rate=1.000000
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6169646d 'mdia'
parent:'trak' sz: 721 136 849
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6468646d 'mdhd'
parent:'mdia' sz: 32 8 713
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 726c6468 'hdlr'
parent:'mdia' sz: 45 40 713
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] ctype= mhlr (0x726c686d)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stype= vide
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 666e696d 'minf'
parent:'mdia' sz: 636 85 713
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 64686d76 'vmhd'
parent:'minf' sz: 20 8 628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 726c6468 'hdlr'
parent:'minf' sz: 44 28 628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] ctype= dhlr (0x726c6864)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stype= url
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 666e6964 'dinf'
parent:'minf' sz: 36 72 628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 66657264 'dref'
parent:'dinf' sz: 28 8 28
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type url size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] Unknown dref type
0x08206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6c627473 'stbl'
parent:'minf' sz: 528 108 628
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 64737473 'stsd'
parent:'stbl' sz: 128 8 520
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] size=112 4CC= Hap1/0x31706148
codec_type=0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6c656966 'fiel'
parent:'stsd' sz: 10 8 26
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 70736170 'pasp'
parent:'stsd' sz: 16 18 26
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 73747473 'stts'
parent:'stbl' sz: 24 136 520
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] track[0].stts.entries = 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] sample_count=75,
sample_duration=512
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 63737473 'stsc'
parent:'stbl' sz: 28 160 520
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] track[0].stsc.entries = 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 7a737473 'stsz'
parent:'stbl' sz: 320 188 520
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] sample_size = 0 sample_count
= 75
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 6f637473 'stco'
parent:'stbl' sz: 20 508 520
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 0,
offset 24, dts 0, size 3650, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 1,
offset e66, dts 512, size 3641, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 2,
offset 1c9f, dts 1024, size 3641, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 3,
offset 2ad8, dts 1536, size 3650, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 4,
offset 391a, dts 2048, size 3655, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 5,
offset 4761, dts 2560, size 3660, distance 0, keyframe 1
[...]
[...]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 71,
offset 3f173, dts 36352, size 3662, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 72,
offset 3ffc1, dts 36864, size 3668, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 73,
offset 40e15, dts 37376, size 3666, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] AVIndex stream 0, sample 74,
offset 41c67, dts 37888, size 3673, distance 0, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] Processing st: 0, edit list 0
- media time: 0, duration: 38400
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 61746475 'udta'
parent:'moov' sz: 33 973 998
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] type: 727773a9 '®swr'
parent:'udta' sz: 25 8 25
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] lang "und" tag "encoder"
value "Lavf57.51.100" atom "®swr" 27 13
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] on_parse_exit_offset=274094
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] Before
avformat_find_stream_info() pos: 274094 bytes read:33774 seeks:1
nb_streams:1
[hap @ 00000000026242e0] DXT1 texture
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 0, dts 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0: start_time: 0.000
duration: 3.000
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] format: start_time: 0.000
duration: 3.000 bitrate=730 kb/s
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] After
avformat_find_stream_info() pos: 3686 bytes read:66542 seeks:2 frames:1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out_hap.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf57.51.100
Duration: 00:00:03.00, start: 0.000000, bitrate: 730 kb/s
Stream #0:0(eng), 1, 1/12800: Video: hap, 1 reference frame (Hap1 /
0x31706148), rgb0, 320x240, 0/1, 728 kb/s, SAR 1:1 DAR 4:3, 25 fps, 25
tbr, 12800 tbn, 12800 tbc (default)
Metadata:
handler_name : DataHandler
encoder : Lavc57.58.100 hap
Successfully opened the file.
Parsing a group of options: output file out_hap_2.mkv.
Applying option vcodec (force video codec ('copy' to copy stream)) with
argument copy.
Successfully parsed a group of options.
Opening an output file: out_hap_2.mkv.
[file @ 00000000026164e0] Setting default whitelist 'file,crypto'
Successfully opened the file.
Output #0, matroska, to 'out_hap_2.mkv':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf57.51.100
Stream #0:0(eng), 0, 1/1000: Video: hap, 1 reference frame (Hap1 /
0x31706148), rgb0, 320x240 (0x0) [SAR 1:1 DAR 4:3], 0/1, q=2-31, 728 kb/s,
25 fps, 25 tbr, 1k tbn, 12800 tbc (default)
Metadata:
handler_name : DataHandler
encoder : Lavc57.58.100 hap
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per
stream)
[matroska @ 0000000002614d00] get_metadata_duration returned: 0
[matroska @ 0000000002614d00] Writing block at offset 807, size 3650, pts
0, dts 0, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 1, dts 40000
[matroska @ 0000000002614d00] Writing block at offset 4464, size 3641, pts
40, dts 40, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 2, dts 80000
[matroska @ 0000000002614d00] Starting new cluster at offset 8112 bytes,
pts 80dts 80
[matroska @ 0000000002614d00] Writing block at offset 8127, size 3641, pts
80, dts 80, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 3, dts
120000
[matroska @ 0000000002614d00] Writing block at offset 11775, size 3650,
pts 120, dts 120, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 4, dts
160000
[matroska @ 0000000002614d00] Starting new cluster at offset 15432 bytes,
pts 160dts 160
[matroska @ 0000000002614d00] Writing block at offset 15447, size 3655,
pts 160, dts 160, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 5, dts
200000
[matroska @ 0000000002614d00] Writing block at offset 19109, size 3660,
pts 200, dts 200, duration 40, keyframe 1
[...]
[...]
[matroska @ 0000000002614d00] Writing block at offset 260244, size 3662,
pts 2840, dts 2840, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 72, dts
2880000
[matroska @ 0000000002614d00] Starting new cluster at offset 263913 bytes,
pts 2880dts 2880
[matroska @ 0000000002614d00] Writing block at offset 263929, size 3668,
pts 2880, dts 2880, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 73, dts
2920000
[matroska @ 0000000002614d00] Writing block at offset 267604, size 3666,
pts 2920, dts 2920, duration 40, keyframe 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000692600] stream 0, sample 74, dts
2960000
[matroska @ 0000000002614d00] Starting new cluster at offset 271277 bytes,
pts 2960dts 2960
[matroska @ 0000000002614d00] Writing block at offset 271293, size 3673,
pts 2960, dts 2960, duration 40, keyframe 1
No more output streams to write to, finishing.
[matroska @ 0000000002614d00] end duration = 3000
[matroska @ 0000000002614d00] stream 0 end duration = 3000
frame= 75 fps=0.0 q=-1.0 Lsize= 270kB time=00:00:02.96 bitrate=
746.8kbits/s speed=15.2x
video:267kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 1.234197%
Input file #0 (out_hap.mov):
Input stream #0:0 (video): 75 packets read (273052 bytes);
Total: 75 packets (273052 bytes) demuxed
Output file #0 (out_hap_2.mkv):
Output stream #0:0 (video): 75 packets muxed (273052 bytes);
Total: 75 packets (273052 bytes) muxed
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 000000000262e020] Statistics: 395 seeks, 353 writeouts
[AVIOContext @ 000000000261b4a0] Statistics: 307832 bytes read, 2 seeks
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5872#comment:6>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list