> On Feb 27, 2016, at 10:24 PM, Michael Niedermayer <mich...@niedermayer.cc> > wrote: > > On Thu, Feb 04, 2016 at 04:45:09PM +0000, Carl Eugen Hoyos wrote: >> Syed Andaleeb Roomy <andaleebcse <at> gmail.com> writes: >> >>> I worked on the attached patch to enable timecode tracks in MP4 files >>> written by ffmpeg. Could someone please take a look to see if it is >>> acceptable? >> >> Ping, see ticket #4704. > > applied > > thanks
[...] I noticed that this patch affects some workflows so wanted to send a note. I can produce an NTSC file with timecode via: ffmpeg -f lavfi -i testsrc=r=30000/1001:d=1 -metadata "timecode=01:12:23;04" -y test.mov If I try to transcode the file in a way that changes the frame rate, then the output fails with "[mp4 @ 0x7fcf13000c00] Drop frame is only allowed with 30000/1001 or 60000/1001 FPS". drice:avsurgery drice$ ffmpeg -i test.mov -r 28 -y test.mp4 ffmpeg version N-43081-g7725210 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) 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 --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-vda libavutil 55. 19.100 / 55. 19.100 libavcodec 57. 28.103 / 57. 28.103 libavformat 57. 28.102 / 57. 28.102 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 39.102 / 6. 39.102 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.28.102 Duration: 00:00:01.00, start: 0.000000, bitrate: 73 kb/s Stream #0:0(eng): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 320x240 [SAR 1:1 DAR 4:3], 59 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc57.28.103 libx264 timecode : 01:12:23;04 Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s Metadata: handler_name : DataHandler timecode : 01:12:23;04 No pixel format specified, yuv444p for H.264 encoding chosen. Use -pix_fmt yuv420p for compatibility with outdated media players. [libx264 @ 0x7fcf12005c00] using SAR=1/1 [libx264 @ 0x7fcf12005c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x7fcf12005c00] profile High 4:4:4 Predictive, level 1.3, 4:4:4 8-bit [libx264 @ 0x7fcf12005c00] 264 - core 148 r2601 a0cd7d3 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 [mp4 @ 0x7fcf13000c00] Drop frame is only allowed with 30000/1001 or 60000/1001 FPS Output #0, mp4, to 'test.mp4': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf57.28.102 Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 28 fps, 14336 tbn, 28 tbc (default) Metadata: handler_name : DataHandler timecode : 01:12:23;04 encoder : Lavc57.28.103 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument I suggest if the source file has timecode and the frame rate is changed that FFmpeg provide a warning, but that the encoding still occurs. Dave Rice
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel