This is the only scenario that I've ever seen a different starting DTS/PTS (seen in framemd5) after doing a stream copy from quicktime to matroska.
I don't know enough about DTS and PTS to know how serious this. I never encounter it usually, but it would be preferable to retain these values when stream copying. 1. Rescale 2048*1536 v210.mov to 4096*3072 (Source PTS/DTS and rescaled PTS/DTS start at 0) 2. Stream copy to matroska (PTS/DTS start at 1) I tried re-creating by rescaling a 320*240 testsrc mov to 640*480 mov, then stream copying to matroska, but the PTS/DTS were identical. I apologise for the large test files, but I can't reproduce otherwise. Example input and output here along with framemd5s: 1 frame of input https://drive.google.com/open?id=0ByvCvU9YVB09ZDRmRGdSemZWaXc 1 frame of mkv output https://drive.google.com/open?id=0ByvCvU9YVB09OHpWZl9zX2pnNTg input framemd5 https://drive.google.com/open?id=0ByvCvU9YVB09eDh3NnZNdEdETWs output framemd5 https://drive.google.com/open?id=0ByvCvU9YVB09MGU0YTdBZ1B5X0k Here's the input framemd5: #format: frame checksums #version: 2 #hash: MD5 #software: Lavf57.38.102 #tb 0: 1/24 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 4096x3072 #sar 0: 0/1 #stream#, dts, pts, duration, size, hash 0, 0, 0, 1, 50331648, ff246e50f79911593a9b39649233c64e and output mkv framemd5 #format: frame checksums #version: 2 #hash: MD5 #software: Lavf57.38.102 #tb 0: 1/24 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 4096x3072 #sar 0: 1/1 #stream#, dts, pts, duration, size, hash 0, 1, 1, 1, 50331648, ff246e50f79911593a9b39649233c64e Console outputs of 1. Rescale to 4k 2. Framemd5 of mov 3. stream copy to matroska 4. framemd5 of mkv ********************** 1. Rescale to 4k (only chose one frame, the exact same thing happens if I don't trim and encode the whole file): ffmpeg -i /Volumes/Stardom/kieran_tests/guinness_no_other_beer_comes_near_raw.mov -c:v v210 -t 00:00:00.01 -vf scale=4096:3072 /Volumes/Stardom/kieran_tests/bug/4k.mov ffmpeg version git-2016-06-21-9204a84 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 46.100 / 57. 46.100 libavformat 57. 38.102 / 57. 38.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Stardom/kieran_tests/guinness_no_other_beer_comes_near_raw.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2016-07-05 13:59:49 timecode : 01:00:53:12 Duration: 00:01:17.71, start: 0.000000, bitrate: 1624356 kb/s Stream #0:0(eng): Audio: pcm_s24be (in24 / 0x34326E69), 48000 Hz, mono, s32 (24 bit), 1152 kb/s (default) Metadata: creation_time : 2016-07-05 13:59:49 handler_name : Apple Alias Data Handler Stream #0:1(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 2048x1536, 1623195 kb/s, 24 fps, 24 tbr, 24k tbn, 24k tbc (default) Metadata: creation_time : 2016-07-05 13:59:49 handler_name : Apple Alias Data Handler encoder : Uncompressed 10-bit 4:2:2 Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default) Metadata: creation_time : 2016-07-05 14:01:48 handler_name : Apple Alias Data Handler timecode : 01:00:53:12 File '/Volumes/Stardom/kieran_tests/bug/4k.mov' already exists. Overwrite ? [y/N] y [mov @ 0x7fad9a040000] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, mov, to '/Volumes/Stardom/kieran_tests/bug/4k.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt timecode : 01:00:53:12 encoder : Lavf57.38.102 Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, q=2-31, 200 kb/s, 0.04 fps, 12288 tbn, 24 tbc (default) Metadata: creation_time : 2016-07-05 13:59:49 handler_name : Apple Alias Data Handler encoder : Lavc57.46.100 v210 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp (24 bit), 69 kb/s (default) Metadata: creation_time : 2016-07-05 13:59:49 handler_name : Apple Alias Data Handler encoder : Lavc57.46.100 aac Stream mapping: Stream #0:1 -> #0:0 (v210 (native) -> v210 (native)) Stream #0:0 -> #0:1 (pcm_s24be (native) -> aac (native)) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=-0.0 Lsize= 33026kB time=00:00:00.02 bitrate=12682164.2kbits/s speed=0.0909x video:33024kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.005840% [aac @ 0x7fad9a02b800] Qavg: 47249.418 ********* 2. framemd5 of mov: ffmpeg -i /Volumes/Stardom/kieran_tests/bug/4k.mov -an -f framemd5 - ffmpeg version git-2016-06-21-9204a84 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 46.100 / 57. 46.100 libavformat 57. 38.102 / 57. 38.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Stardom/kieran_tests/bug/4k.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.38.102 Duration: 00:00:00.04, start: 0.000000, bitrate: 6441633 kb/s Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, 6492782 kb/s, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc57.46.100 v210 timecode : 01:00:53:12 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 6 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: handler_name : DataHandler timecode : 01:00:53:12 [framemd5 @ 0x7fd77c011e00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. #format: frame checksums #version: 2 #hash: MD5 #software: Lavf57.38.102 #tb 0: 1/24 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 4096x3072 #sar 0: 0/1 #stream#, dts, pts, duration, size, hash Output #0, framemd5, to 'pipe:': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.38.102 Stream #0:0(eng): Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 4096x3072, q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc (default) Metadata: handler_name : DataHandler timecode : 01:00:53:12 encoder : Lavc57.46.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (v210 (native) -> rawvideo (native)) Press [q] to stop, [?] for help 0, 0, 0, 1, 50331648, ff246e50f79911593a9b39649233c64e frame= 1 fps=0.0 q=-0.0 Lsize= 0kB time=00:00:00.04 bitrate= 57.0kbits/s speed=0.292x video:49152kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown ************** 3. Stream copy to matroska: ffmpeg -i /Volumes/Stardom/kieran_tests/bug/4k.mov -c copy /Volumes/Stardom/kieran_tests/bug/4k.mkv ffmpeg version git-2016-06-21-9204a84 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 46.100 / 57. 46.100 libavformat 57. 38.102 / 57. 38.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Stardom/kieran_tests/bug/4k.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.38.102 Duration: 00:00:00.04, start: 0.000000, bitrate: 6441633 kb/s Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, 6492782 kb/s, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc57.46.100 v210 timecode : 01:00:53:12 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 6 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: handler_name : DataHandler timecode : 01:00:53:12 File '/Volumes/Stardom/kieran_tests/bug/4k.mkv' already exists. Overwrite ? [y/N] y [matroska @ 0x7f96d3811e00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, matroska, to '/Volumes/Stardom/kieran_tests/bug/4k.mkv': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.38.102 Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, q=2-31, 6492782 kb/s, 24 fps, 24 tbr, 1k tbn, 12288 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc57.46.100 v210 timecode : 01:00:53:12 Stream #0:1(eng): Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, mono, 6 kb/s (default) Metadata: handler_name : DataHandler Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=-1.0 Lsize= 33025kB time=00:00:00.02 bitrate=12297363.3kbits/s speed=0.206x video:33024kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.003327% 4. framemd5 of output mkv: ffmpeg -i /Volumes/Stardom/kieran_tests/bug/4k.mov -c copy /Volumes/Stardom/kieran_tests/bug/4k.mkv ffmpeg version git-2016-06-21-9204a84 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 46.100 / 57. 46.100 libavformat 57. 38.102 / 57. 38.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Stardom/kieran_tests/bug/4k.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.38.102 Duration: 00:00:00.04, start: 0.000000, bitrate: 6441633 kb/s Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, 6492782 kb/s, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc57.46.100 v210 timecode : 01:00:53:12 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 6 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: handler_name : DataHandler timecode : 01:00:53:12 File '/Volumes/Stardom/kieran_tests/bug/4k.mkv' already exists. Overwrite ? [y/N] y [matroska @ 0x7f96d3811e00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, matroska, to '/Volumes/Stardom/kieran_tests/bug/4k.mkv': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.38.102 Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, q=2-31, 6492782 kb/s, 24 fps, 24 tbr, 1k tbn, 12288 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc57.46.100 v210 timecode : 01:00:53:12 Stream #0:1(eng): Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, mono, 6 kb/s (default) Metadata: handler_name : DataHandler Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=-1.0 Lsize= 33025kB time=00:00:00.02 bitrate=12297363.3kbits/s speed=0.206x video:33024kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.003327% ifi-mac-pro:~ admin$ ffmpeg -i /Volumes/Stardom/kieran_tests/bug/4k.mkv -an -f framemd5 - ffmpeg version git-2016-06-21-9204a84 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.3.0 (clang-703.0.31) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-ffplay --disable-lzma --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 46.100 / 57. 46.100 libavformat 57. 38.102 / 57. 38.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 46.102 / 6. 46.102 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, matroska,webm, from '/Volumes/Stardom/kieran_tests/bug/4k.mkv': Metadata: COMPATIBLE_BRANDS: qt MAJOR_BRAND : qt MINOR_VERSION : 512 ENCODER : Lavf57.38.102 Duration: 00:00:00.06, start: 0.000000, bitrate: 4294317 kb/s Stream #0:0(eng): Video: v210 (v210 / 0x30313276), yuv422p10le, 4096x3072, SAR 1:1 DAR 4:3, 24 fps, 24 tbr, 1k tbn, 1k tbc (default) Metadata: HANDLER_NAME : DataHandler ENCODER : Lavc57.46.100 v210 TIMECODE : 01:00:53:12 DURATION : 00:00:00.063000000 Stream #0:1(eng): Audio: aac (LC), 48000 Hz, mono, fltp (default) Metadata: HANDLER_NAME : DataHandler DURATION : 00:00:00.052000000 [framemd5 @ 0x7fbd8a011800] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. #format: frame checksums #version: 2 #hash: MD5 #software: Lavf57.38.102 #tb 0: 1/24 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 4096x3072 #sar 0: 1/1 #stream#, dts, pts, duration, size, hash Output #0, framemd5, to 'pipe:': Metadata: COMPATIBLE_BRANDS: qt MAJOR_BRAND : qt MINOR_VERSION : 512 encoder : Lavf57.38.102 Stream #0:0(eng): Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 4096x3072 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc (default) Metadata: HANDLER_NAME : DataHandler DURATION : 00:00:00.063000000 TIMECODE : 01:00:53:12 encoder : Lavc57.46.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (v210 (native) -> rawvideo (native)) Press [q] to stop, [?] for help 0, 1, 1, 1, 50331648, ff246e50f79911593a9b39649233c64e frame= 1 fps=0.0 q=-0.0 Lsize= 0kB time=00:00:00.08 bitrate= 28.5kbits/s speed=0.569x video:49152kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Best, Kieran. _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
