> On Feb 27, 2016, at 10:24 PM, Michael Niedermayer
> wrote:
>
> On Thu, Feb 04, 2016 at 04:45:09PM +, Carl Eugen Hoyos wrote:
>> Syed Andaleeb Roomy 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=3/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
3/1001 or 6/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
libavformat57. 28.102 / 57. 28.102
libavdevice57. 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
libpostproc54. 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.00, 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 3/1001 or 6/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