On Wed, Jan 25, 2017 at 17:02:06 +0100, Julian Link wrote: > [jules@deepthought ffmpeg]$ ffmpeg -i > /media/120TB/hide/MXF_files/A019C046.mxf -an -f mxf_opatom > -store_user_comments 1 -b:v 36M -metadata comment_x=y out.mxf
According to $ ffmpeg -h muxer=mxf_opatom the mxf_opatom muxer does *not* support "-store_user_comments". The mxf muxer does though, and setting your comment works there. If I change the MXF muxer's OpA1 code to expose and use that option (see attached patch), it actually works: $ ./ffmpeg_g -f lavfi -i testsrc2=s=hd1080 -f mxf_opatom -store_user_comments 1 -b:v 36M -metadata comment_x=y -t 1 ~/tmp/out.mxf -y ffmpeg version N-83183-gd60f090 Copyright (c) 2000-2017 the FFmpeg developers built with icc (ICC) 14.0.3 20140422 configuration: --prefix=/usr/new/tools/video/install/ffmpeg/2017-01-21 --cc=icc --cxx=icpc --enable-gpl --enable-version3 --enable-nonfree --disable-shared --enable-gnutls --enable-libcdio --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtwolame --enable-libopenjpeg --enable-librtmp --enable-libass --enable-li bv4l2 --enable-libvidstab --enable-libfdk-aac --enable-libsmbclient --enable-libzvbi --enable-libtesseract --enable-libzmq libavutil 55. 43.100 / 55. 43.100 libavcodec 57. 75.100 / 57. 75.100 libavformat 57. 62.100 / 57. 62.100 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 69.100 / 6. 69.100 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 Input #0, lavfi, from 'testsrc2=s=hd1080': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc Output #0, mxf_opatom, to '/home/barsnick/tmp/out.mxf': Metadata: comment_x : y encoder : Lavf57.62.100 Stream #0:0: Video: dnxhd (DNXHD), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-1024, 36000 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.75.100 dnxhd Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> dnxhd (native)) Press [q] to stop, [?] for help [swscaler @ 0xb7bfb40] Warning: data is not aligned! This can lead to a speedloss frame= 25 fps= 10 q=1.0 Lsize= 4607kB time=00:00:01.00 bitrate=37736.9kbits/s speed=0.402x video:4600kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.142514% $ ./ffmpeg_g -i ~/tmp/out.mxf ffmpeg version N-83183-gd60f090 Copyright (c) 2000-2017 the FFmpeg developers built with icc (ICC) 14.0.3 20140422 configuration: --prefix=/usr/new/tools/video/install/ffmpeg/2017-01-21 --cc=icc --cxx=icpc --enable-gpl --enable-version3 --enable-nonfree --disable-shared --enable-gnutls --enable-libcdio --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtwolame --enable-libopenjpeg --enable-librtmp --enable-libass --enable-libv4l2 --enable-libvidstab --enable-libfdk-aac --enable-libsmbclient --enable-libzvbi --enable-libtesseract --enable-libzmq libavutil 55. 43.100 / 55. 43.100 libavcodec 57. 75.100 / 57. 75.100 libavformat 57. 62.100 / 57. 62.100 libavdevice 57. 2.100 / 57. 2.100 libavfilter 6. 69.100 / 6. 69.100 libswscale 4. 3.101 / 4. 3.101 libswresample 2. 4.100 / 2. 4.100 libpostproc 54. 2.100 / 54. 2.100 [dnxhd @ 0xbd04420] frame size changed: 1920x1088 -> 1920x1080 Input #0, mxf, from '/home/barsnick/tmp/out.mxf': Metadata: uid : adab4424-2f25-4dc7-92ff-29bd000c0000 generation_uid : adab4424-2f25-4dc7-92ff-29bd000c0001 company_name : FFmpeg product_name : OPAtom Muxer product_version : 57.62.100 product_uid : adab4424-2f25-4dc7-92ff-29bd000c0002 modification_date: 1905-06-07T18:35:44.000000Z material_package_umid: 0x060A2B340101010501010D001348BF4F529471342248BF4F0052947134224800 comment_x : y timecode : 00:00:00:00 Duration: 00:00:01.00, start: 0.000000, bitrate: 37736 kb/s Stream #0:0: Video: dnxhd (DNXHD), yuv422p(bt709/unknown/unknown, progressive), 1920x1080, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc Metadata: file_package_umid: 0x060A2B340101010501010D001348BF4F529471342248BF4F0052947134224801 At least one output file must be specified $ I may be violating the format though, what do I know. Perhaps it isn't supported for a reason. Michael N. introduced the feature (of toggling the storage) here: https://github.com/FFmpeg/FFmpeg/commit/d9726893f311b7bbbc9887db2c3ffbefaad78ca3 where it is on by default for MXF, off by default for D10 (because "not allowed"), but not at all exposed to OpA1. Do ask Michael or the MXF maintainer... It *is* a regression in terms of "it used to work for mxf_opatom, but no longer does". But as said, that may be intentional... If not, submit a proper patch and give me credit. ;-) (Or let me do it.) Moritz
--- ffmpeg-build-2017-01-21/libavformat/mxfenc.c.orig 2016-10-11 18:20:03.000000000 +0200 +++ ffmpeg-build-2017-01-21/libavformat/mxfenc.c 2017-01-25 17:24:14.000000000 +0100 @@ -2706,6 +2706,8 @@ { "mxf_audio_edit_rate", "Audio edit rate for timecode", offsetof(MXFContext, audio_edit_rate), AV_OPT_TYPE_RATIONAL, {.dbl=25}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM }, MXF_COMMON_OPTIONS + { "store_user_comments", "", + offsetof(MXFContext, store_user_comments), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, { NULL }, };
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".