Opened 9 years ago

Closed 8 years ago

#4308 closed defect (invalid)

Clip & re-wrap of ProRes

Reported by: Chris Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I am having a minor issue when using FFMPEG to do frame accurate clip & re-wrapping of a ProRes 422 (LT) source. I created a ProRes 422 (LT) 1080p 23.98 MOV with timecode burn-in & different sections that have green or purple. My goal was to test FFMPEG to clip & re-wrap these sections to new files and confirm the clip was accurate to what I was trying to pull. With a 1080p23.98 source file, the second clip I made from the source showed the incorrect in-point. I calculated the in-point (-ss) & duration (-t) based on a duration of each frame at 23.976 being 41.708 milliseconds. For the two clips I made, the clip that was an even 15 seconds had no issues, but the second clip I made, had some odd behavior which was different based on the QuickTime application used.

In Adobe Premiere CC 2014, the purple clip has no issues and displays normally from 01:00:00:00 to 01:00:14:23. The green clip has an issue and shows the starting frame as 01:00:36:16 instead of 01:00:36:17, the timecode start was set to 01:00:36:17 which causes the clip to be off by one frame. At the end of the file the frame 01:01:46:15 dos[;aus twice.

With Avid Media Composer 8.2, the purple clip has no issues and works normally. The green clip when loaded into Media Composer starts on the correct frame 01:00:36:17, but after 01:01:46:16 it displays the frame 01:01:46:15 twice.

QuickTime Player X displays the purple clip without issue. The green clip starts a frame early the same as with Adobe Premiere. Unlike Premiere QuickTime X displays the last frame 01:01:46:16 correctly.

QuickTime Player 7 displays the purple clip without issue. The green clip starts a frame early and the timecode reader window in QuickTime 7 does not advance when going from frame 0 to 1. QuickTime player 7 displays the last frame of video (01:01:46:16) times. For two of these frames the timecode value stays at 01:01:46:16, but the last frame displays 01:01:46:17.

Comparing the purple clip to the green clip based on the ffprobe output, I can see that the green clip has negative values set for start_pts & start_time for the audio and video tracks, except for the timecode track.

Purple segment start timecode 01:00:00:00:
In point for frame 360 is 15014.88 milliseconds: 00:00:15.015
Out point for frame 720 is 30029.76 millisecods: 00:00:30.029
Duration of clip is 15014.88 milliseconds: 00:00:15.015

ffmpeg -ss 00:00:15.015 -i D:\clipping\timecode_test_1080p2398.mov -t 00:00:15.015 -map 0:v -vcodec copy -map 0:a -acodec copy -timecode 01:00:00:00 D:\clipping\timecode_test_1080p2398_purple.mov

ffmpeg version N-69672-g078be09 Copyright (c) 2000-2015 the FFmpeg developers

built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --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-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 18.100 / 54. 18.100
libavcodec 56. 21.102 / 56. 21.102
libavformat 56. 19.100 / 56. 19.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 9.104 / 5. 9.104
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100

Guessed Channel Layout for Input Stream #0.1 : mono
Guessed Channel Layout for Input Stream #0.2 : mono
Guessed Channel Layout for Input Stream #0.3 : mono
Guessed Channel Layout for Input Stream #0.4 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\clipping\timecode_test_1080p2398.mov':

Metadata:

major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2015-02-11 17:16:03

Duration: 00:03:00.18, start: 0.000000, bitrate: 21996 kb/s

Stream #0:0(eng): Video: prores (apcs / 0x73637061), yuv422p10le(bt709), 1920x1080, 17373 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler
encoder : Apple ProRes 422 LT
timecode : 00:59:45:00

Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:5(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:

creation_time : 2015-02-11 17:21:45
handler_name : Apple Alias Data Handler
timecode : 00:59:45:00

Output #0, mov, to 'D:\clipping\timecode_test_1080p2398_purple.mov':

Metadata:

major_brand : qt
minor_version : 537199360
compatible_brands: qt
timecode : 01:00:00:00
encoder : Lavf56.19.100
Stream #0:0(eng): Video: prores (apcs / 0x73637061), yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 17373 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler
encoder : Apple ProRes 422 LT
timecode : 00:59:45:00

Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream mapping:

Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Stream #0:4 -> #0:4 (copy)

Press [q] to stop, ? for help
frame= 360 fps=0.0 q=-1.0 Lsize= 43896kB time=00:00:15.01 bitrate=23949.0kbits/s
video:35431kB audio:8446kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.042288%

Green segment start timecode 01:00:36:17:
In point for frame 1241 is 51759.628: 00:00:51.760
Out point for frame 2921 is 121829.068: 00:02:01.829
Duration of clip is 70069.44: 00:01:10.069

ffmpeg -ss 00:00:51.760 -i D:\clipping\timecode_test_1080p2398.mov -t 00:01:10.069 -map 0:v -vcodec copy -map 0:a -acodec copy -timecode 01:00:36:17 D:\clipping\timecode_test_1080p2398_green.mov

ffmpeg version N-69672-g078be09 Copyright (c) 2000-2015 the FFmpeg developers

built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --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-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 18.100 / 54. 18.100
libavcodec 56. 21.102 / 56. 21.102
libavformat 56. 19.100 / 56. 19.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 9.104 / 5. 9.104
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100

Guessed Channel Layout for Input Stream #0.1 : mono
Guessed Channel Layout for Input Stream #0.2 : mono
Guessed Channel Layout for Input Stream #0.3 : mono
Guessed Channel Layout for Input Stream #0.4 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\clipping\timecode_test_1080p2398.mov':

Metadata:

major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2015-02-11 17:16:03

Duration: 00:03:00.18, start: 0.000000, bitrate: 21996 kb/s

Stream #0:0(eng): Video: prores (apcs / 0x73637061), yuv422p10le(bt709), 1920x1080, 17373 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler
encoder : Apple ProRes 422 LT
timecode : 00:59:45:00

Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:5(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:

creation_time : 2015-02-11 17:21:45
handler_name : Apple Alias Data Handler
timecode : 00:59:45:00

Output #0, mov, to 'D:\clipping\timecode_test_1080p2398_green.mov':

Metadata:

major_brand : qt
minor_version : 537199360
compatible_brands: qt
timecode : 01:00:36:17
encoder : Lavf56.19.100
Stream #0:0(eng): Video: prores (apcs / 0x73637061), yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 17373 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler
encoder : Apple ProRes 422 LT
timecode : 00:59:45:00

Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono (24 bit), 1152 kb/s (default)
Metadata:

creation_time : 2015-02-11 17:16:03
handler_name : Apple Alias Data Handler

Stream mapping:

Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Stream #0:4 -> #0:4 (copy)

Press [q] to stop, ? for help
frame= 1681 fps=0.0 q=-1.0 Lsize= 219795kB time=00:01:10.08 bitrate=25690.6kbits/s
video:180270kB audio:39450kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.033914%

Change History (1)

comment:1 by Chris, 8 years ago

Resolution: invalid
Status: newclosed

Figure out my issue was related to the millisecond values & positioning of -t for the clip duration.

Note: See TracTickets for help on using tickets.