libavcodec usage inside Cinelerra-GG [LONG]
Hello, developers and users of libav! I'm a bit of user (more tester than serious user) of video editing software called Cinelerra-GG This is evolution of original Cinlerrra NLE, and current version uses ffmpeg/libavcodec 4.2 From manual available at https://cinelerra-gg.org/download/ (see CinelerraGG_manual_WIP.pdf) I found important (IMO) passage I wish to share to relevant list: p. 193: Outstanding Issues with ffmpeg: There are some problems that need to be ad- dressed by the ffmpeg developer group that adversely affect Cinelerra. These are stated below with the hopes that that group will fix them as time permits. • Make all the default parameters operational. When they are not, the Cinelerra plugins can’t be initialized since the initial state of the filter is not operational. If that is not possible, then provide a set of nominal parameters for each plugin, so that they can be used as the plugins initial default state. • Make the filter config function project the new parameter data into the filter function at any point during filter operation. This is so that continuous updates can be done as the plugin operates. • Improve seek codec restarts. The past predictor must be reset or recon- structed after a seek. The only documented way to seek is open/seek/- play. Reopening the format layer is very expensive. I think I can also link in https://www.cinelerra-gg.org/bugtracker/view.php?id=330 because IMO it shows how wild timestamp can ruin synchro I also found some other interesting areas of interaction between libavcodec/libavformat and Cinelerra, for example timecode tracks in MOV container I tested ffmpeg itself and it indeed was able to to put tcmd track into MOV, while DV encapsulated in AVI (type 1) was not showing it at least from ffprobe. So, I just extracted raw DV from AVI container, and tested this with ffprobe, and then re-wrapped DV into mov (using example from ffmpeg's bugtracker) ffmpeg -i /home/guest/botva/Downloads/from_Vladimir/Leningrad\ dolphinarium\ 29\ 10\ 2004/UD\ 2004\ 10\ 29\ 01.avi -codec copy DV.dv ffmpeg -i DV.dv -c copy 1.mov ffmpeg -i 1.mov -metadata:s:v:0 reel_name=ABCDEF -codec copy 2.mov ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --arch=i486 --target-os=linux --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --docdir=/usr/doc/ffmpeg-2.8.15 --enable-gpl --enable-version3 --disable-static --enable-shared --enable-runtime-cpudetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-doc --enable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-ladspa --enable-libass --enable-libbluray --disable-libbs2b --disable-libcaca --disable-libcelt --enable-libcdio --disable-libdc1394 --disable-libflite --enable-libfreetype --enable-libfribidi --disable-libgme --enable-libgsm --enable-libiec61883 --disable-libilbc --disable-libkvazaar --disable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --disable-libpulse --disable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsmbclient --enable-libsnappy --disable-libsoxr --enable-libspeex --disable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzvbi --enable-lzma --enable-openal --enable-opengl --enable-sdl --enable-x11grab --enable-zlib --disable-debug libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.40.101 Duration: 00:01:14.56, start: 0.000000, bitrate: 30337 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default) Metadata: handler_name : DataHandler timecode : 00:00:00:00 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name : DataHandler timecode : 00:00:00:00 [mov @ 0x8f395a0] Codec for stream 0 does not use global headers but container format requires global headers [mov @ 0x8f395a0] Codec for stream 1 does not use global headers but container format requires global headers Output #0, mov, to '2.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.40.101 Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default) Metadata: handler_name : DataHandler timecode : 00:00:00:00 reel_name : ABCDEF Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, 1536 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= 1864 fps=0.0 q=-1.0 Lsize= 276121kB time=00:01:14.56 bitrate=30337.8kbits/s video:262125kB audio:13980kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.005956% guest@slax:/dev/shm$ ffprobe -show_stream 2.mov ffprobe version 2.8.15 Copyright (c) 2007-2018 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --arch=i486 --target-os=linux --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --docdir=/usr/doc/ffmpeg-2.8.15 --enable-gpl --enable-version3 --disable-static --enable-shared --enable-runtime-cpudetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-doc --enable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-ladspa --enable-libass --enable-libbluray --disable-libbs2b --disable-libcaca --disable-libcelt --enable-libcdio --disable-libdc1394 --disable-libflite --enable-libfreetype --enable-libfribidi --disable-libgme --enable-libgsm --enable-libiec61883 --disable-libilbc --disable-libkvazaar --disable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --disable-libpulse --disable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsmbclient --enable-libsnappy --disable-libsoxr --enable-libspeex --disable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzvbi --enable-lzma --enable-openal --enable-opengl --enable-sdl --enable-x11grab --enable-zlib --disable-debug libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Failed to set value '2.mov' for option 'show_stream': Option not found guest@slax:/dev/shm$ ffprobe -show_format 2.mov ffprobe version 2.8.15 Copyright (c) 2007-2018 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --arch=i486 --target-os=linux --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --docdir=/usr/doc/ffmpeg-2.8.15 --enable-gpl --enable-version3 --disable-static --enable-shared --enable-runtime-cpudetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-doc --enable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-ladspa --enable-libass --enable-libbluray --disable-libbs2b --disable-libcaca --disable-libcelt --enable-libcdio --disable-libdc1394 --disable-libflite --enable-libfreetype --enable-libfribidi --disable-libgme --enable-libgsm --enable-libiec61883 --disable-libilbc --disable-libkvazaar --disable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --disable-libpulse --disable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsmbclient --enable-libsnappy --disable-libsoxr --enable-libspeex --disable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzvbi --enable-lzma --enable-openal --enable-opengl --enable-sdl --enable-x11grab --enable-zlib --disable-debug libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.40.101 Duration: 00:01:14.56, start: 0.000000, bitrate: 30337 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default) Metadata: handler_name : DataHandler timecode : 00:00:00:00 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name : DataHandler reel_name : ABCDEF timecode : 00:00:00:00 Unsupported codec with id 0 for input stream 2 [FORMAT] filename=2.mov nb_streams=3 nb_programs=0 format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV start_time=0.000000 duration=74.560000 size=282748359 bit_rate=30337806 probe_score=100 TAG:major_brand=qt TAG:minor_version=512 TAG:compatible_brands=qt TAG:encoder=Lavf56.40.101 [/FORMAT] guest@slax:/dev/shm$ rm 2.mov guest@slax:/dev/shm$ ffmpeg -i 1.mov -timecode 01:02:03:04 -metadata:s:v:0 reel_name=ABCDEF -codec copy 2.mov ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --arch=i486 --target-os=linux --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --docdir=/usr/doc/ffmpeg-2.8.15 --enable-gpl --enable-version3 --disable-static --enable-shared --enable-runtime-cpudetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-doc --enable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-ladspa --enable-libass --enable-libbluray --disable-libbs2b --disable-libcaca --disable-libcelt --enable-libcdio --disable-libdc1394 --disable-libflite --enable-libfreetype --enable-libfribidi --disable-libgme --enable-libgsm --enable-libiec61883 --disable-libilbc --disable-libkvazaar --disable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --disable-libpulse --disable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsmbclient --enable-libsnappy --disable-libsoxr --enable-libspeex --disable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzvbi --enable-lzma --enable-openal --enable-opengl --enable-sdl --enable-x11grab --enable-zlib --disable-debug libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.40.101 Duration: 00:01:14.56, start: 0.000000, bitrate: 30337 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default) Metadata: handler_name : DataHandler timecode : 00:00:00:00 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name : DataHandler timecode : 00:00:00:00 [mov @ 0x81334c0] Codec for stream 0 does not use global headers but container format requires global headers [mov @ 0x81334c0] Codec for stream 1 does not use global headers but container format requires global headers Output #0, mov, to '2.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt timecode : 01:02:03:04 encoder : Lavf56.40.101 Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default) Metadata: handler_name : DataHandler timecode : 00:00:00:00 reel_name : ABCDEF Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, 1536 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= 1864 fps=0.0 q=-1.0 Lsize= 276121kB time=00:01:14.56 bitrate=30337.8kbits/s video:262125kB audio:13980kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.005956% guest@slax:/dev/shm$ ffprobe -show_format 2.mov ffprobe version 2.8.15 Copyright (c) 2007-2018 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --arch=i486 --target-os=linux --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --docdir=/usr/doc/ffmpeg-2.8.15 --enable-gpl --enable-version3 --disable-static --enable-shared --enable-runtime-cpudetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-doc --enable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-ladspa --enable-libass --enable-libbluray --disable-libbs2b --disable-libcaca --disable-libcelt --enable-libcdio --disable-libdc1394 --disable-libflite --enable-libfreetype --enable-libfribidi --disable-libgme --enable-libgsm --enable-libiec61883 --disable-libilbc --disable-libkvazaar --disable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --disable-libpulse --disable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsmbclient --enable-libsnappy --disable-libsoxr --enable-libspeex --disable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzvbi --enable-lzma --enable-openal --enable-opengl --enable-sdl --enable-x11grab --enable-zlib --disable-debug libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.40.101 Duration: 00:01:14.56, start: 0.000000, bitrate: 30337 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default) Metadata: handler_name : DataHandler timecode : 01:02:03:04 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name : DataHandler reel_name : ABCDEF timecode : 01:02:03:04 Unsupported codec with id 0 for input stream 2 [FORMAT] filename=2.mov nb_streams=3 nb_programs=0 format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV start_time=0.000000 duration=74.560000 size=282748359 bit_rate=30337806 probe_score=100 TAG:major_brand=qt TAG:minor_version=512 TAG:compatible_brands=qt TAG:encoder=Lavf56.40.101 [/FORMAT] mediainfo 2.mov General Complete name : 2.mov Format : MPEG-4 Commercial name : DVCPRO Format profile : QuickTime Codec ID : qt 0000.02 (qt ) File size : 270 MiB Duration : 1 min 14 s Overall bit rate : 30.3 Mb/s Recorded date : 1970-01-01 00:00:00.000 Writing application : Lavf56.40.101 Video ID : 1 Format : DV Commercial name : DVCPRO Codec ID : dvcp Duration : 1 min 14 s Bit rate mode : Constant Bit rate : 24.4 Mb/s Encoded bit rate : 28.8 Mb/s Width : 720 pixels Height : 576 pixels Display aspect ratio : 4:3 Frame rate mode : Constant Frame rate : 25.000 FPS Standard : PAL Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Interlaced Scan order : Bottom Field First Compression mode : Lossy Bits/(Pixel*Frame) : 2.357 Time code of first frame : 00:00:00:00 Time code source : Subcode time code Stream size : 217 MiB (81%) Encoded stream size : 256 MiB (95%) Encoding settings : ae mode=manual / wb mode=automatic / white balance= / fcm=manual focus Language : English Audio #1 ID : 2 Format : PCM Format settings : Little / Signed Codec ID : sowt Duration : 1 min 14 s Bit rate mode : Constant Bit rate : 1 536 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Bit depth : 16 bits Stream size : 13.7 MiB (5%) Language : English Default : Yes Alternate group : 1 Audio #2 ID : 1-0 Format : PCM Muxing mode : DV Muxing mode, more info : Muxed in Video #1 Duration : 1 min 14 s Bit rate mode : Constant Bit rate : 1 536 kb/s Encoded bit rate : 0 b/s Channel(s) : 2 channels Sampling rate : 48.0 kHz Bit depth : 16 bits Delay relative to video : -1 h 2 min Stream size : 13.7 MiB (5%) Encoded stream size : 0.00 Byte (0%) Other ID : 3 Type : Time code Format : QuickTime TC Duration : 1 min 14 s Time code of first frame : 01:02:03:04 Time code, striped : Yes Title : ABCDEF Language : English Default : No guest@slax:/dev/shm$ ffprobe -show_streams 2.mov ffprobe version 2.8.15 Copyright (c) 2007-2018 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --arch=i486 --target-os=linux --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --docdir=/usr/doc/ffmpeg-2.8.15 --enable-gpl --enable-version3 --disable-static --enable-shared --enable-runtime-cpudetect --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-ffserver --enable-doc --enable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --enable-postproc --enable-avfilter --enable-avresample --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-ladspa --enable-libass --enable-libbluray --disable-libbs2b --disable-libcaca --disable-libcelt --enable-libcdio --disable-libdc1394 --disable-libflite --enable-libfreetype --enable-libfribidi --disable-libgme --enable-libgsm --enable-libiec61883 --disable-libilbc --disable-libkvazaar --disable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --disable-libpulse --disable-libquvi --enable-librtmp --enable-libschroedinger --enable-libsmbclient --enable-libsnappy --disable-libsoxr --enable-libspeex --disable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzvbi --enable-lzma --enable-openal --enable-opengl --enable-sdl --enable-x11grab --enable-zlib --disable-debug libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.40.101 Duration: 00:01:14.56, start: 0.000000, bitrate: 30337 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default) Metadata: handler_name : DataHandler timecode : 01:02:03:04 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: handler_name : DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name : DataHandler reel_name : ABCDEF timecode : 01:02:03:04 Unsupported codec with id 0 for input stream 2 [STREAM] index=0 codec_name=dvvideo codec_long_name=DV (Digital Video) profile=unknown codec_type=video codec_time_base=1/25 codec_tag_string=dvcp codec_tag=0x70637664 width=720 height=576 coded_width=720 coded_height=576 has_b_frames=0 sample_aspect_ratio=16:15 display_aspect_ratio=4:3 pix_fmt=yuv420p level=-99 color_range=N/A color_space=unknown color_transfer=unknown color_primaries=unknown chroma_location=topleft timecode=N/A refs=1 id=N/A r_frame_rate=25/1 avg_frame_rate=25/1 time_base=1/12800 start_pts=0 start_time=0.000000 duration_ts=954368 duration=74.560000 bit_rate=28800000 max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=1864 nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=1 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 TAG:language=eng TAG:handler_name=DataHandler TAG:timecode=01:02:03:04 [/STREAM] [STREAM] index=1 codec_name=pcm_s16le codec_long_name=PCM signed 16-bit little-endian profile=unknown codec_type=audio codec_time_base=1/48000 codec_tag_string=sowt codec_tag=0x74776f73 sample_fmt=s16 sample_rate=48000 channels=2 channel_layout=stereo bits_per_sample=16 id=N/A r_frame_rate=0/0 avg_frame_rate=0/0 time_base=1/48000 start_pts=0 start_time=0.000000 duration_ts=3578880 duration=74.560000 bit_rate=1536000 max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=3578880 nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=1 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 TAG:language=eng TAG:handler_name=DataHandler [/STREAM] [STREAM] index=2 codec_name=unknown codec_long_name=unknown profile=unknown codec_type=data codec_time_base=1/25 codec_tag_string=tmcd codec_tag=0x64636d74 id=N/A r_frame_rate=0/0 avg_frame_rate=0/0 time_base=1/12800 start_pts=0 start_time=0.000000 duration_ts=954368 duration=74.560000 bit_rate=N/A max_bit_rate=N/A bits_per_raw_sample=N/A nb_frames=1 nb_read_frames=N/A nb_read_packets=N/A DISPOSITION:default=0 DISPOSITION:dub=0 DISPOSITION:original=0 DISPOSITION:comment=0 DISPOSITION:lyrics=0 DISPOSITION:karaoke=0 DISPOSITION:forced=0 DISPOSITION:hearing_impaired=0 DISPOSITION:visual_impaired=0 DISPOSITION:clean_effects=0 DISPOSITION:attached_pic=0 TAG:language=eng TAG:handler_name=DataHandler TAG:reel_name=ABCDEF TAG:timecode=01:02:03:04 [/STREAM] ----------- all this dance just for showing to myself this timecode thing actually exist in DV and can be embedded into MOV (at least) use-case basically about normal timecode use - multi-camera synchronization, prescie cuts, and alike. See https://www.cinelerra-gg.org/bugtracker/view.php?id=334 where I collected few links (basically timecode used in EDL format CMX3600, and this format can be used by other programs, like Blender, KDE's NLE, something else ..there are some bugs in CinGG about frame accuracy ATM [https://www.cinelerra-gg.org/bugtracker/view.php?id=329], but after they are fixed ... While I'm myself not developer enough for implementing new features - i usually dig into docs and come up with something developers can use. I usually read ffmpeg-devel, but I'm not subscribed to it (due to rel. high traffic there) I'll be happy to help in communication/testing between two projects.
participants (1)
-
Andrew Randrianasulu