[FFmpeg-user] MXF Op1a with JPEG2000 - Field Order Problem (Frame Layout and Field Dominance)
Hello FFmpeg Developers! I am currently trying to produce a interoperable MXF OP1a with JPEG2000+PCM. The content is interlaced material in PAL (tff), including VBI (720x608) My used syntax: ffmpeg -i J:\JPEG2000\8bit_10min_01_ffvhuff.avi -c:v libopenjpeg -acodec pcm_s24le -f mxf -timecode 10:00:00:00 -metadata "creation_time=2022-12-18T15:37:56" -r 25 -signal_standard 1 -colorspace bt470bg -color_range tv -color_primaries bt470bg -color_trc gamma28 -aspect 4:3 -vf "setfield=tff,fieldorder=tff" -top 1 -format:v j2k -profile:v jpeg2000 -cinema_mode:v off -irreversible:v 0 -prog_order 0 J:\JPEG2000\8bit_10min_01_ffvhuff.mxf As you can see, I am setting the field oredr twice via "-top 1" and "-fieldorder=tff". So I assume that I will get a MXF with interlaced flags: Typical: signal_standard : ITU_601 (value='1') frame_layout: Separate Field (value='1') Field Dominance : 1 But I get signal_standard : ITU_601 (value='1') frame_layout: Full_Frame (value='0') Field Dominance : not set Checked via mxf2raw and mxfdump from the BMX MXF toolset. I also tried to reset the frame_layout via bmxtranswrap but it sticked to FULLFRAME. I dont know why. My questions: 1.) Is it possible to give the ffmpeg MUXER more settings beside -f mxf and -signal_standard 1 so that I have more control to set specific flags/KLVs? 2.) Due frame_layout is not set to seperate fields by using "-top 1" or "fieldorder=tff" Is there room for improvement? br Christoph output of mxf2raw: edit_rate : 25/1 duration: 00:10:00:00 (count='15000') StartTimecodes: material: 10:00:00:00 file_source : 10:00:00:00 Tracks: (2) Track #0: essence_kind: Picture essence_type: JPEG2000_CDCI ec_label: urn:smpte:ul:060e2b34.04010107.0d010301.020c0100 edit_rate : 25/1 duration: 00:10:00:00 (count='15000') Packages: (1) Package #0: Material: package_uid : urn:smpte:umid:060a2b34.01010105.01010d00.13c54e3f.52947134.9ec54e3f.00529471.349ec500 track_id: 2 track_number: 0 FileSource: package_uid : urn:smpte:umid:060a2b34.01010105.01010d00.13c54e3f.52947134.9ec54e3f.00529471.349ec501 track_id: 2 track_number: 0x15010800 file_uri: file:///J:/JPEG2000/8bit_10min_01_ffvhuff.mxf PictureDescriptor: coding_label: urn:smpte:ul:060e2b34.04010107.04010202.03010100 signal_standard : ITU_601 (value='1') frame_layout: Full_Frame (value='0') stored_width: 720 stored_height : 608 display_width : 720 display_height : 576 display_x_offset : 0 display_y_offset : 32 aspect_ratio: 4/3 CDCIDescriptor: component_depth : 8 horiz_subsamp : 2 vert_subsamp: 1 color_siting: Cositing (value='0') Track #1: essence_kind: Sound essence_type: WAVE_PCM ec_label: urn:smpte:ul:060e2b34.04010101.0d010301.02060300 edit_rate : 25/1 duration: 00:10:00:00 (count='15000') Packages: (1) Package #0: Material: package_uid : urn:smpte:umid:060a2b34.01010105.01010d00.13c54e3f.52947134.9ec54e3f.00529471.349ec500 track_id: 3 track_number: 0 FileSource: package_uid : urn:smpte:umid:060a2b34.01010105.01010d00.13c54e3f.52947134.9ec54e3f.00529471.349ec501 track_id: 3 track_number: 0x16010300 file_uri: file:///J:/JPEG2000/8bit_10min_01_ffvhuff.mxf SoundDescriptor: sampling_rate: 48000/1 bits_per_sample : 24 block_align : 24 channel_count: 8 locked : true Output of mxfdump : [ K = MXFCDCIEssenceDescriptor ( 13cf ) 06.0e.2b.34.02.53.01.01.0d.01.01.01.01.01.28.00, L =321 (141), LL = 4 ] [ k = InstanceUID 3c.0a, l =16 (0010) ] 0 ad ab 44 24 2f 25 4d c7 92 ff 29 bd 00 0e 00 00 ..D$/%M...). [ k = LinkedTrackID 30.06, l = 4 (0004) ] 0 00 00 00 02 [ k = SampleRate 30.01, l = 8 (0008) ] 0 00 00 00 19 00 00 00 01 [ k = EssenceContainer 30.04, l =16 (0010) ] 0 06 0e 2b 34 04 01 01 07 0d 01 03 01 02 0c 01 00 ..+4 [ k = StoredWidth 32.03, l = 4 (0004) ] 0 00 00 02 d0 [ k = StoredHeight 32.02, l = 4 (0004) ] 0 00 00 02 60...` [ k = SampledWidth 32.05, l = 4 (0004) ] 0 00 00 02 d0 [ k
[FFmpeg-user] AVCIntra50 MXF issue - aspect_ratio_idc
Hello, I am testing AVCIntra 50/100 Flavours of different encoders and I am facing an Issue with AVCINTRA50. My checking the MXF Wrapper my testing program MXF Analyzer shows following error: "Invalid essence element payload in Generic Container Element with Track Number 352388352 | 0x15010500 of Essence Container with EssenceStreamID (BodySID) 1. Reason: constrained: Current AVC file is not compatible with AVC-Intra constraints. For Class 50 Specification aspect_ratio_idc must be 255 (Extended_SAR). Essence analyser: MPEG AVC Video. Essence Container Label: 06.0e.2b.34.04.01.01.0a.0d.01.03.01.02.10.60.01. Terminating essence parsing while processing Edit Unit number 1." my used ffmpeg syntax is: -map 0:v -map 0:a -map 0:a -map_channel 0.1.0:0.1.0 -map_channel 0.1.1:0.2.0 -vf "setfield=tff, fieldorder=tff, setsar=1.33" -c:v libx264 -r 25 -s 1440x1080 -aspect 16:9 -g 1 -b:v 54298k -pix_fmt yuv420p10le -flags +ildct+ilme -profile:v high10 -level 4.0 -coder cavlc -x264opts avcintra-class=50:colorprim=bt709:transfer=bt709:colormatrix=bt709:interlaced=1:force-cfr=1:fps=25/1 -forced-idr 1 -8x8dct 1 -top 1 -vtag avc1 -color_range tv -color_primaries bt709 -color_trc bt709 -c:a pcm_s24le -ar 48000 -f mxf -timecode 12:34:56:11 -metadata "creation_time=2015-10-28T15:37:56" So, A.) is this maybe just a problem in my syntax and its somehow possible to set the "aspect_ratio_idc" with an aditional syntax part or B.) is this a bug/improvement issue for avcintraclass=50 encoding in ffmpeg? br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Matroska Muxer Options documentation
ffmpeg -h muxer=matroska This reveals a bit more options than outlined on the url you mentioned. Sorry, I have already tried that but I forgot to write it here. If you see the matroska.org page there is a ton of flags or values a MKV can carry... But ffmpeg does not show this in the help text how to control this by syntax options. So maybe ffmpeg is not ready for meeting these specs or its just hidden until the spec is finished (v4)? br Chris ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Matroska Muxer Options documentation
Hello the ffmpeg MKV documentation at "https://ffmpeg.org/ffmpeg-all.html#matroska; is quite short and focussed on stereoscopic content. Is there a more detailed documentation variant for the Matroska muxer that can be used to fully utilize the current options for MKV muxing? At matroska.org there is the specification to read but no ffmpeg syntax examples how to generate such MKVs (or I did not find it yet there). Could someone give me a tip here? Br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] XDCAMHD422 MXF files - MXF IndexTableSegments have the same InstanceUIDs (not unique)
Hello Marton! Is it possible - supported with a predefined budget - to move this topic more to the front of the bugfix to do list so that this bug could be fixed in the next release version? br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] XDCAMHD422 MXF files - MXF IndexTableSegments have the same InstanceUIDs (not unique)
This would be desirable, I will submit a patch to ffmpeg-devel, does not seem too complicated. Maybe can you test it? Yes I can test it when the patch is made. But I will need a compiled windows exe (I am not able to compile). br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] XDCAMHD422 MXF files - MXF IndexTableSegments have the same InstanceUIDs (not unique)
Hello everyone! I am currently testing with XDCAMHD422 mxfs generated by ffmpeg 4.4 and 5.0. I am testing these MXFs against the SMPTE ST377 Standard. My testtool is the MXF Analyser from the IRT which can test the MXF against Standard Compliance SMPTE ST377 MXF. The MXF files generated by FFMPEG are almost "green" to ST377 but one single issue comes up all 10 seconds in the file: "This Index Table Segment has the same Instance ID value of ad.ab.44.24.2f.25.4d.c7.92.ff.29.bd.00.0f.00.00 as the Index Table Segment located at byte offset 78605312. The current Index Table Segment is not a repetition of the earlier Index Table Segment" Which means: Each Index Table Segment in an SMPTE ST377 conform MXF file should have its unique InstanceUID. And the file does not have IndexTableSegments with different UIDs. Currently in the mxf file every InstanceUID of the Index Table Segments have the same values: ad.ab.44.24.2f.25.4d.c7.92.ff.29.bd.00.0f.00.00 ad.ab.44.24.2f.25.4d.c7.92.ff.29.bd.00.0f.00.00 ad.ab.44.24.2f.25.4d.c7.92.ff.29.bd.00.0f.00.00 ... ___ I tested agains other transcoder tools or formats and checked with MXFDUMP tool from the BMX MXF tools: Adobe Premiere XDCMAHD422 Instance UIDs: eb.b1.86.ed.a3.6f.11.ec.b0.7d.48.0f.cf.54.96.c3 f0.8c.82.10.a3.6f.11.ec.86.e9.48.0f.cf.54.96.c3 aa.68.e1.45.a3.6f.11.ec.bd.95.48.0f.cf.54.96.c3 Premiere AVCINTRA Instance UIDs: 3 IndexTableSegments at the end of the file. af.3d.99.3f.a3.9f.11.ec.b6.c7.48.0f.cf.54.96.c3 67.12.9a.70.a3.a0.11.ec.a3.5d.48.0f.cf.54.96.c3 45.3b.ec.c1.a3.a1.11.ec.82.9d.48.0f.cf.54.96.c3 FFMPEG AVCINTRA: just ONE IndexTableSegment InstanceUID: ad.ab.44.24.2f.25.4d.c7.92.ff.29.bd.00.0f.00.00 -> No problem with double UIDs. And FFMPEGs D10 and DVCPRO50 MXFs have only ONE IndexTableSegment -> No problem with double UIDs. Back to the XDCMAHD422File: Via the DEBUG LOG I found out that FFMPEG writes every 252 Frames (10seconds and 2 frames) a new essence container/a new Index Table Segment. You can see that in the attached debug syntax at the bottom of this message (very long). My questions: 1.) Is it possible to control via syntax to write only ONE IndexTableSegment (Essence Container) into a MXF file? And does this make sence for XDCAMHD422 mxfs (GOP based video, GOP=12)? 2.) OR is it possible to fix the issue in a way that IF more than ONE Index Table Segments are written, then every Index Table Segment has a unique Instance UID to be SMPTE ST377 standard conform? 3.) OR maybe I use the wrong syntax to generate the XDCAMHD422 file (see below syntax and debug log)? br Christoph DEBUG SYNTAX: ffmpeg -i K:\InputMediaFile_Fileset030.avi -map 0:v -map 0:a -map 0:a -map 0:a -map 0:a -map 0:a -map 0:a -map 0:a -map 0:a -map_channel 0.1.0:0.1.0 -map_channel 0.1.1:0.2.0 -map_channel 0.1.2:0.3.0 -map_channel 0.1.3:0.4.0 -map_channel 0.1.4:0.5.0 -map_channel 0.1.5:0.6.0 -map_channel 0.1.6:0.7.0 -map_channel 0.1.7:0.8.0 -vf "setfield=tff, crop=720:576:0:32, scale=oh*16/9:1080:interl=1, pad=1920:1080:(ow-iw)/2:(oh-ih)/2, fieldorder=tff, setsar=1, colormatrix=bt601:bt709" -c:v mpeg2video -r 25 -pix_fmt yuv422p -s 1920x1080 -aspect 16:9 -minrate 5k -maxrate 5k -b:v 5k -g 12 -flags +ildct+ilme -intra_vlc 1 -dc 10 -non_linear_quant 1 -bf 2 -qmin 4 -qmax 12 -top 1 -bufsize 17825792 -rc_init_occupancy 17825792 -rc_min_vbv_use 1 -rc_max_vbv_use 1 -sc_threshold 10 -lmin "1*QP2LAMBDA" -vtag xd5c -color_range tv -color_primaries bt709 -color_trc bt709 -c:a pcm_s24le -ar 48000 -f mxf -timecode 12:34:56:11 -max_muxing_queue_size 1024 -metadata "creation_time=2015-10-28T15:3 7:56" -loglevel debug K:\InputMediaFile_Fileset030XDCAMHD_.mxf ffmpeg version n5.0-4-g911d7f167c-20220309 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 11.2.0 (crosstool-NG 1.24.0.533_681aaef) configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librist --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-s channel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1
[FFmpeg-user] Is it possible to write MXF KLV flag for Platform (3c.08)
Hello Community, I am creating a IMX D10 file in MXF OP1a with following syntax and it works perfect to create a SMPTE conform file: -map 0:v -map 0:a -c:v mpeg2video -s 720x608 -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 5000 -maxrate 5000 -b:v 5000 -g 1 -flags +ildct+low_delay -intra_vlc 1 -lmin 1 -mblmin 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 5 -top 1 -dc 10 -bufsize 200 -rc_init_occupancy 200 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 -metadata "creation_time=2019-12-10T15:37:56" -max_muxing_queue_size 400 -colorspace bt470bg -color_range tv -color_primaries bt470bg -color_trc gamma28 BUT: ;) What I am missing is the MXF header is a KLV which describes the PLATFORM on which it was created (Windows/Linux). I use that as historical information metadata for long term archiving. The KLV flag I am talking about is: 3c.08 Platform (MXF Identification) A typical MXF Dump extract of this KLV would look like: [ k = Platform 3c.08, l =12 (000c) ] 0 00 77 00 69 00 6e 00 33 00 32 00 00.w.i.n.3.2.. or [ k = Platform 3c.08, l =66 (0042) ] 0 00 4c 00 69 00 6e 00 75 00 78 00 20 00 32 00 2e.L.i.n.u.x. .2.. 10 00 36 00 2e 00 31 00 38 00 2d 00 33 00 34 00 38 .6...1.8.-.3.4.8 20 00 2e 00 31 00 36 00 2e 00 31 00 2e 00 65 00 6c ...1.6...1...e.l 30 00 35 00 20 00 78 00 38 00 36 00 5f 00 36 00 34.5. .x.8.6._.6.4 40 00 00 I know that the ffmpeg community does not recommend to write such data due security reasons. But I am a user which can live and need that FLAG (for archiving reasons) and I it would be awesome to have just the OPTION to write it -> -> Is there a syntax to force writing this KLV flag like "-metadata platform=win32"? Or something else I can use? -> If there is no syntax to write it, would it be possible to add it in the ffmpeg code so that the user has to turn it ON for force the writing (true/false, 1/0 option)? br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] HD MXF SMPTE ST377 Standard Compliance Problem with multiple IndexTableSegments carring Unique ID twins (maybe a bug)
Hello Carl, thanks for the fast reply Please test current FFmpeg git head, nothing else is supported here. [...] I cant because I am not able to compile. I am just a user. Not a programmer/compiler. I am dependent on the windows exe builds from https://ffmpeg.zeranoe.com/builds/ which are linked on the offical ffmpeg homepage. Is there another way to get a working exe from the current FFmpeg git head? After generating these files I am testing them with an MXF Analyzer which analyses the MXF to SMPTE ST377-1 Standard-Compliance (MXF— File Format Specification). So I check if the MXF is fullfilling minimum MXF requirements for the MXF world. And I get every time the same errors multiple times: How can I reproduce this? How can I see the error messages? Unfortunately you cant without the IRT MXF Analyzer. It is a commercial product from the Institut für Rundfunktechnik. But you can send me your generated files and I can check them and send you a report file back. Regarding mxfdump: You can use the free toolset of BMX MXF from the BBC. Here: https://sourceforge.net/projects/bmxlib/ br Christoph Gerstbauer ___ 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".
Re: [FFmpeg-user] Upscaling SD 4x3 to FullHD 16x9 - Aspect Ratio problem
Gyan Doshi thank you, that worked fine! 2018-06-22 15:09 GMT+02:00 Gyan Doshi : > > > On 22-06-2018 06:13 PM, Christoph Gerstbauer wrote: > > >> CommandLineOutput: >> >> ffmpeg -i "F:\scaler test\_5sec.avi" -vf "crop=720:576:0:32, setfield=tff, >> yadif=1:0:0, scale=-1:1080, tinterlace=interleave_top, fieldorder=tff" >> -vcodec ffvhuff -an -s 1920x1080 -aspect 16:9 "F:\scaler >> > > Since you're scaling proportionally ("-1:1080"), you need to pad out the > frame to FHD. > > ffmpeg -i in -vf "crop=720:576:0:32,setfield=tff,yadif=1:0:0, > scale=-1:1080,pad=1920:1080:(ow-iw)/2:(oh-ih)/2, > tinterlace=interleave_top, fieldorder=tff, > setsar=1" >-c:v ffvhuff -an -aspect 16:9 out > > Additionally, since your input isn't square-pixels, the following scale > may be more accurate, > > scale=oh*4/3:1080 > > Regards, > Gyan > > ___ > 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". > ___ 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".
Re: [FFmpeg-user] Upscaling SD 4x3 to FullHD 16x9 - Aspect Ratio problem
> > > The "-s" option is incorrect in your case. From the documentation: > > As an output option, this inserts the scale video filter to the end of > the corresponding filtergraph. Please use the scale filter directly to > insert it at the beginning or some other place. > > The scale video filter will take whatever ends up from your filter, and > scale it without respect to aspect ratio. > To do what you want, you probable have to use a complex filter, where you > create a secondary black source and paste the output of your current filter > into it using the "overlay" filter. > I understand So i need to generate (after the cropping and deinterlacing to 720x576 50p) a filter syntax (within the videofilter) which transforms the 720x576 4:3 content to a pillarbox 1050x576 quare pixel video (with black bars at sides) -> and THIS one I can rescale to HD. Correct? if yes, has anyone more experience with that? br Chris ___ 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".
[FFmpeg-user] Upscaling SD 4x3 to FullHD 16x9 - Aspect Ratio problem
Hello I am trying to upscale a 720x608 (incl VBI) 25i 4:3 source to 1920x1080 25i 16:9. My deinterlacing and reinterlacing is working, scaling and cropping too. But I have understanding problem how to use the videofilter regarding aspect ratios. My source is 4:3 and the target is 16:9. For the target I am expecting that I get a PillarBox FullHD image (black bars left and right) where the original 4:3 aspect ratio of the source is kept. PROBLEM: But I get only a stretched 16:9 HD version of the 4:3 original image. (no black bars at left and right) See files: https://www.dropbox.com/s/mgwmiitcpgta0ym/scalertest.zip?dl=0 CommandLineOutput: ffmpeg -i "F:\scaler test\_5sec.avi" -vf "crop=720:576:0:32, setfield=tff, yadif=1:0:0, scale=-1:1080, tinterlace=interleave_top, fieldorder=tff" -vcodec ffvhuff -an -s 1920x1080 -aspect 16:9 "F:\scaler test\_5sec_fullHDinterlaced.avi" ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.2.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat57. 83.100 / 57. 83.100 libavdevice57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc54. 7.100 / 54. 7.100 Input #0, avi, from 'F:\scaler test\_5sec.avi': Metadata: encoder : Lavf58.12.100 Duration: 00:00:05.00, start: 0.00, bitrate: 116115 kb/s Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p, 720x608, 107684 kb/s, SAR 152:135 DAR 4:3, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 7.1, s32 (24 bit), 9216 kb/s File 'F:\scaler test\_5sec_fullHDinterlaced.avi' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (ffvhuff (native) -> ffvhuff (native)) Press [q] to stop, [?] for help Output #0, avi, to 'F:\scaler test\_5sec_fullHDinterlaced.avi': Metadata: ISFT: Lavf57.83.100 Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc57.107.100 ffvhuff frame= 125 fps= 53 q=-0.0 Lsize= 200261kB time=00:00:05.00 bitrate=328108.1kbits/s speed=2.14x video:200253kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.004325% Best Regards Christoph Gerstbauer ___ 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".
Re: [FFmpeg-user] XDCAMHD422 Syntax questions - qmin qmax
Hello , just to be shure with the videoencoding options for XDCAMHD422. Is this syntax correct or wrong or is anything important missing? -c:v mpeg2video- set videocodec mpeg2 (same as IMX50) -r 25 - framerate 25 for PAL, 29.97 for NTSC -pix_fmt yuv422p - set pixel format, yuv422 8bit -s 1920x1080 - sets Full-HD resolution -aspect 16:9 - aspect ratio always 16:9 -minrate 5k- set min video bitrate (to force CBR 50Mbit) -maxrate 5k- set max video bitrate (to force CBR 50Mbit) -b:v 5k - set video bitrate (to force CBR 50Mbit) -g 12 - set GOP size: 12 for PAL, 15 for NTSC -flags +ildct+ilme - ildct=Use interlaced DCT / ilme = Apply interlaced motion estimation -intra_vlc 1 - intra_vlc_format, Intrac VLC table 1 (can also be 0), used for encoding decoding DCT coefficients -dc 10 - sets Intra DC precision. 10 means DC range allowed 0...1023, 8 means 0...255 -non_linear_quant 1- only used for MPEG2. "quantisation scale type", 1 or 0 -bf 2 - Set max number of B frames between non-B-frames. -qmin 1- Set min video quantizer scale (VBR). Must be included between -1 and 69, default value is 2 -qmax 12 - Set max video quantizer scale (VBR). Must be included between -1 and 1024, default value is 31. -top 1 - set field order tff -bufsize 17825792 - set video buffer size -rc_init_occupancy 17825792- Set number of bits which should be loaded into the rc buffer before decoding starts. -rc_min_vbv_use 1 -rc_max_vbv_use 1 -sc_threshold 10 - Set scene change threshold -lmin "1*QP2LAMBDA"- Set min lagrange factor (VBR) -vtag xd5c - Force video tag/fourcc. This is an alias for -tag:v Best Regards Christoph Gerstbauer ___ 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".
Re: [FFmpeg-user] XDCAMHD422 Syntax questions - qmin qmax
Thank you guys! I will uses qmax 12 too, because when using trellis instead of qmax I lose encoding speed. Am Mi., 20. Juni 2018 um 00:18 Uhr schrieb Marton Balint : > > > On Tue, 19 Jun 2018, Christoph Gerstbauer wrote: > > > Hello; > > > > I am using this syntax to generate a XDCAMHD422 file: > > > > ffmpeg -i inputfile.avi -map 0:v -map 0:a -c:v mpeg2video -r 25 -pix_fmt > > yuv422p -s 1920x1080 -aspect 16:9 -minrate 5k -maxrate 5k -b:v > > 5k -g 12 -flags +ildct+ilme -intra_vlc 1 -dc 10 -non_linear_quant 1 > -bf > > 2 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 36408333 -rc_max_vbv_use 1 > > -rc_min_vbv_use 1 -lmin "1*QP2LAMBDA" -vtag xd5c -c:a pcm_s24le -ar 48000 > > -vf "setfield=tff" -top 1 D:\targets\ffmpegXDCAM.mxf > > Bufsize seems wrong, you should check ffmbc for ideas how to create valid > and compatible xdcam hd... > > https://github.com/bcoudurier/FFmbc/blob/ffmbc/ffmbc.c#L5215 > > I personally use qmax 12, but I don't remember where that comes from. > > Regards, > Marton > ___ > 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". -- -------- Student der Fachhochschule für Telekommunikation und Medien St. Pölten Student of the university of applied sciences St. Pölten Christoph Gerstbauer St. Paul-Gasse 6/4 A-3500 Krems an der Donau phone: +43 (0) 699 - 11 658 238 email:tm041...@fh-stpoelten.ac.at christophgerstba...@gmx.at christophgerstba...@gmail.com ICQ: 292233201 ___ 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".
[FFmpeg-user] XDCAMHD422 Syntax questions - qmin qmax
Hello; I am using this syntax to generate a XDCAMHD422 file: ffmpeg -i inputfile.avi -map 0:v -map 0:a -c:v mpeg2video -r 25 -pix_fmt yuv422p -s 1920x1080 -aspect 16:9 -minrate 5k -maxrate 5k -b:v 5k -g 12 -flags +ildct+ilme -intra_vlc 1 -dc 10 -non_linear_quant 1 -bf 2 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 36408333 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -lmin "1*QP2LAMBDA" -vtag xd5c -c:a pcm_s24le -ar 48000 -vf "setfield=tff" -top 1 D:\targets\ffmpegXDCAM.mxf I always getting this at the output: [mpeg2video @ 02018aae4420] max bitrate possibly too small or try trellis with large lmax or increase qmax [mpeg2video @ 02018aae4420] rc buffer underflow [mpeg2video @ 02018aae4420] max bitrate possibly too small or try trellis with large lmax or increase qmax [mpeg2video @ 02018aae4420] rc buffer underflow [mpeg2video @ 02018aae4420] max bitrate possibly too small or try trellis with large lmax or increase qmax [mpeg2video @ 02018aae4420] rc buffer underflow [mpeg2video @ 02018aae4420] max bitrate possibly too small or try trellis with large lmax or increase qmax [mpeg2video @ 02018aae4420] rc buffer underflow So I reset -qmax to the value 10. (9 -> get warnings again) After that no warning appears but my main questions here are: 1.) Is my used syntax the right one to generate XDCAMHD422 files? 2.) Is there a specified QMAX value which should be used for XDCAMHD422 files? best Regards Christoph Gerstbauer ___ 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".
Re: [FFmpeg-user] New Overread VUI by 5 bits Warnings when decoding from AVC-Intra from Avid
Hello Carl, thank you for the fast answer. I am shure the AVCI file from year 2014 can be decoded with ffmpeg 3.4 without a "HINTED" problem in the command line window. Maybe there are problems but not visible for me as cmd line user. The file from 2018 is the hot one with the overread VUI hints at the cmd line output. Best Regards Christoph Gerstbauer Am Mi., 6. Juni 2018 um 15:16 Uhr schrieb Carl Eugen Hoyos < ceffm...@gmail.com>: > 2018-06-06 13:09 GMT+02:00, Christoph Gerstbauer > : > > Hello, > > > > in the year 2014 I reported a Problem when decoding H264 10bit from > > AVCIntra MXF files. > > MXF File was created by Premiere: > > The old thread: > > https://lists.ffmpeg.org/pipermail/ffmpeg-user/2014-May/021213.html > > > > The problem was that the commandline output showed multiple error > warnings > > with this information: "Overread VUI by 5 bits". > > This problem was fixed in 2014. I think it was a demuxer problem. > > > > Now I have the "same" problem with a MXF file from another encoder: AVID. > > -> Again "Overread VUI by 5 bits" > > > > By testing with FFMPEG 3.4 we get this: > > # May__2014: Decoding AVCIntra MXF made by Premiere: STILL GOOD. > > No Warnings, no Errors > > Several errors are shown here for your old sample, they appear > to affect decoding. > > > # June_2018: Decoding AVCIntra MXF made by AVID: "Overread VUI by 5 bits" > > These messages do not look related, they are initialization-only. > I opened ticket #7249. > > > The file from May2014 can be downloaded here: > > > Decoding still without problems. > > As said above, I don't think this is true. > > > > https://www.dropbox.com/s/yqtdt1enqt18wjv/ffmpeg__2014_PremierePro--Overread.VUI.by.5.bits.Problem___FIXED.mxf.zip?dl=0 > > > > The current problem example file (June2018) can be downloaded here: > > > https://www.dropbox.com/s/we2fldkgyc9tjq3/ffmpeg__2018_Sample-from-AVIDSystem--Overread.VUI.by.5.bits.Problem___NEW.mxf.zip?dl=0 > > I opened ticket #7249 > > Carl Eugen > ___ > 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". -- Student der Fachhochschule für Telekommunikation und Medien St. Pölten Student of the university of applied sciences St. Pölten Christoph Gerstbauer St. Paul-Gasse 6/4 A-3500 Krems an der Donau phone: +43 (0) 699 - 11 658 238 email:tm041...@fh-stpoelten.ac.at christophgerstba...@gmx.at christophgerstba...@gmail.com ICQ: 292233201 ___ 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".
[FFmpeg-user] New Overread VUI by 5 bits Warnings when decoding from AVC-Intra from Avid
Hello, in the year 2014 I reported a Problem when decoding H264 10bit from AVCIntra MXF files. MXF File was created by Premiere: The old thread: https://lists.ffmpeg.org/pipermail/ffmpeg-user/2014-May/021213.html The problem was that the commandline output showed multiple error warnings with this information: "Overread VUI by 5 bits". This problem was fixed in 2014. I think it was a demuxer problem. Now I have the "same" problem with a MXF file from another encoder: AVID. -> Again "Overread VUI by 5 bits" By testing with FFMPEG 3.4 we get this: # May__2014: Decoding AVCIntra MXF made by Premiere: STILL GOOD. No Warnings, no Errors # June_2018: Decoding AVCIntra MXF made by AVID: "Overread VUI by 5 bits" The file from May2014 can be downloaded here: Decoding still without problems. https://www.dropbox.com/s/yqtdt1enqt18wjv/ffmpeg__2014_PremierePro--Overread.VUI.by.5.bits.Problem___FIXED.mxf.zip?dl=0 The current problem example file (June2018) can be downloaded here: https://www.dropbox.com/s/we2fldkgyc9tjq3/ffmpeg__2018_Sample-from-AVIDSystem--Overread.VUI.by.5.bits.Problem___NEW.mxf.zip?dl=0 COMMAND LINE OUTPUT AND USED SYNTAX: ffmpeg -i "E:\SMC Avid Testfiles 14-05-2018\ffmpeg__2018_Sample-from-AVIDSystem--Overread.VUI.by.5.bits.Problem___NEW.mxf" -vcodec ffvhuff -acodec pcm_s24le "E:\SMC Avid Testfiles 14-05-2018\ffmpeg__2018_Sample-from-AVIDSystem--Overread.VUI.by.5.bits.Problem___NEW.avi" ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.2.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat57. 83.100 / 57. 83.100 libavdevice57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc54. 7.100 / 54. 7.100 [h264 @ 017e3a8849e0] Overread VUI by 5 bits Last message repeated 5 times [mxf @ 017e3a881ca0] Stream #0: not enough frames to estimate rate; consider increasing probesize Guessed Channel Layout for Input Stream #0.1 : mono Guessed Channel Layout for Input Stream #0.2 : mono Input #0, mxf, from 'E:\SMC Avid Testfiles 14-05-2018\ffmpeg__2018_Sample-from-AVIDSystem--Overread.VUI.by.5.bits.Problem___NEW.mxf': Metadata: uid : 55d17c51-6981-11e8-94b8-0015b2a4ea2f generation_uid : 55d17c52-6981-11e8-8575-0015b2a4ea2f company_name: Avid Technologies, Inc. product_name: Transfer Manager STP DHM product_version : 4.0.0.0 application_platform: win32 product_uid : ---- modification_date: 2018-06-06T12:01:23.00Z material_package_umid: 0x060A2B340101010501010D12135B1466A5789402758205A2F5FB0015B2A4EA2F timecode: 00:59:59:19 Duration: 00:00:05.24, start: 0.00, bitrate: 116154 kb/s Stream #0:0: Video: h264 (High 4:2:2 Intra), yuv422p10le(pc, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 50 tbc Metadata: file_package_umid: 0x060A2B340101010501010D1213A241949B789402758205A2CD8C0015B2A4EA2F file_package_name: Source Package track_name : Track 1 Stream #0:1: Audio: pcm_s24le, 48000 Hz, mono, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D1213A241949B789402758205A2CD8C0015B2A4EA2F file_package_name: Source Package track_name : Track 2 Stream #0:2: Audio: pcm_s24le, 48000 Hz, mono, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D1213A241949B789402758205A2CD8C0015B2A4EA2F file_package_name: Source Package track_name : Track 3 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> ffvhuff (native)) Stream #0:1 -> #0:1 (pcm_s24le (native) -> pcm_s24le (native)) Press [q] to stop, [?] for help [h264 @ 017e3ab5d680] Overread VUI by 5 bits [h264 @ 017e3aa17ec0] Overread VUI by 5 bits [h264 @ 017e3aa183a0] Overread VUI by 5 bits [h264 @ 017e3aa166c0] Overread VUI by 5 bits [h264 @ 017e3aa161e0] Overread VUI by 5 bits [h264 @ 017e3aa16b80] Overread VUI by 5 bits [h264 @ 017e3aa17060] Overread VUI by 5 bits [h264 @ 017e3aa17520] Overread VUI by 5 bits [h264 @ 017e3aa18860] Overread VUI by 5 bits [h264 @ 017e3aa18d40] Overread VUI by 5 bits [h264
[FFmpeg-user] Shift videoframe for 1 pixel in vertical to change field order
Hello, how can I shift a videoframe 1 pixel up or down (to change the field order)? Best Regards Christoph ___ 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".
[FFmpeg-user] Increase DVCPRO50 encoding quality possible?
Hello everyone, I am testing the DVCPRO encoder of ffmpeg and comparing it with other tools in terms of picture quality. I mentioned that the picture quality of an ffmpeg dvcpro50 encoding is a little bit less than a dvcpro50 encoding from a carbon coder. In numbers I can say: Original Source Quality = 100 % Carbon Coder Quality = 95% FFmpeg Quality = 90% Regarding encoding speed ffmpeg dvcpro50 encoder wins: 720x576 RAW source to DVCPRO50: ffmpeg: 10x faster than realtime carbon coder: 3x faster than Realtime The FFmpeg sample has more visible blocking artefacts and mosquito noise (can only be seen in zoom mode 400% or more). You can see it here: https://www.dropbox.com/s/lj4lq1kfr8f5c1i/ffmpegusers_dvcpro50.zip?dl=0 I encoded a part of a animation movie to dvcpro50. At smooth color gradients you can see the differences. Stronger mosquito noise and more blocks in the leafs. My used syntax: ffmpeg -i inputfile -vcodec dvvideo -pix_fmt yuv422p outpufile.mxf My question: Is there any syntax option which I can use to increase the DVCPRO50 encoding quality a little bit? Best Regards Christoph Gerstbauer ___ 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".
Re: [FFmpeg-user] MotionJpeg2000/ MXF
Hi Joseph, Do you want to use MJPEG2000 or MJPEG2000 mathematically LOSSLESS? Best Regards Christoph Am 30.11.16 um 02:08 schrieb Crystal Mastering: Hi Guys I need to convert some video files to MotionJpeg2000, and wrap them in an MXF container. I’m using iffmepg as an interface but it won’t allow me to do this. This is strange because I know lots of people are able to combine MJP2k and MXF. I’d be more than happy to pay someone to write a script to do this for me. iffmpeg has direct terminal access so I assume I can easily upload some code via this. Many thanks in advance Joseph ___ 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". ___ 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".
Re: [FFmpeg-user] FFmpeg XDCAMHD422 streamcopy ClosedGOP problem
Hello Carl, good hint. But I have made some tests. And this raises another question: A conventional Start of an XDCAMHD422 file has this GOP structure (closed): B.B.I.B.B.P.B.B.P.B.B.P.B.B.I.. After FFMpeg has cut out a clip, because FFmpeg always cuts at I_frames (doesn matter which -ss position I give, it always cuts at the nearest I_frame): I.B.B.P.B.B.P.B.B.P.B.B.I.. Is it possible to force FFmpeg to cut 2 frames BEFORE an I-Frame (streamcopy)? To get a cutout file with the first GOP structure like this: B.B.I.B.B.P.B.B.P.B.B.P.B.B.I.. Is there a syntax to do so? Best Regards Christoph Am 22.06.16 um 15:22 schrieb Carl Eugen Hoyos: Christoph Gerstbauer gmail.com> writes: So my need is to force FFMpeg to make an extraction via codec copy (copy video and audiostreams) , BUT JUST ENCODE the first GOP to a new CLOSED GOP. Then you either have to program an application (that uses FFmpeg libraries if you want) or run ffmpeg (the application) several times to reencode a part and stream copy another part and concatenate. This may or may not lead to sync issues;-( Carl Eugen ___ 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". ___ 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".
[FFmpeg-user] FFmpeg XDCAMHD422 streamcopy ClosedGOP problem
Hello I want to extract a short clip from a long XDCAMHD422 MXF file via streamcopy ("lossless"). FFMpeg does this by grabbing the next good I-Frame near the -ss position in this GOP=12 videostream. But the problem is: XDCAMHD422 MPEG2-LongGOP Files always begin with one CLOSED GOP, after that there are OPEN GOPS. So the extracted clip (which I want to extract as lossless as possible via streamcopy) must lead into a new MXF file which starts with one CLOSED GOP and keep the rest of the original open GOPs. Because, if the new MXF file starts with an OPEN GOP, then typical editing programs and also players cannot show frame 1 and 2 when playing/editing them. Because -> The I frame references to the previous 2 B-Frames (typical for open GOP) which are not present anymore in the new file. FFMpeg extracts just OPEN GOPs as is yeah that IS streamcopy. So my need is to force FFMpeg to make an extraction via codec copy (copy video and audiostreams) , BUT JUST ENCODE the first GOP to a new CLOSED GOP. So the first gop of the extracted clip will be renencoded. Professional XDCAMHD cutting applications are working like that. The always encoded the first GOP new, and keep the rest of the stream to keep original quality. So, is there a possibility to do that with FFMpeg? Best Regards Christoph ___ 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".
[FFmpeg-user] Is it possible to set a "this is a dolby E stream" flag to specific Audio Streams in a IMX D-10 MXF File?
Hi I am using FFmpeg for generating a D-10 file with 8ch audio (16bit). Typicall the Audio is always PCM but sometimes some dualchannels are is a Dolby-E pair. Is it possible to set a metadata flag for Audio channels to give the decoder which opens the final MXF the information that it should decode Dolby E and not PCM on e.g Ch5 and Ch6? Example D10 file with Dolby E is 1 stream video (0:0) 1 stream audio with 8ch (0:1): ch1 PCM ch2 PCM ch3 PCM ch4 PCM ch5 Dolby E (encoded as PCM), needs a "Dolby E"-flag ch6 Dolby E (encoded as PCM), needs a "Dolby E"-flag ch7 PCM ch8 PCM Any hints and tipps are welcome :) br Christoph ___ 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".
Re: [FFmpeg-user] -vf Colorspace filter - 'Unknown input primaries 2' error
Hi, Kieran, are the DPX logarithmic RGB or linear RGB? In my esperience without using a 3DLUT -> The logarithmic scale of the RGB values always lead to washed out pictures, when transcoding to a linear scale. I think you need a 3DLUT (e.g CineonLOG) and the colorspace filter to get better colors, because your DPXes are logarithmic. If not, then you dont have to care for my posting :) This video also shows very good was a LUT does with logarithmic videos: http://store.pixelfilmstudios.com/plugin/fcpx-lut-loader Best Regards Christoph Am 13.05.2016 um 12:46 schrieb Kieran O'Leary: Hello, I want to transcode a DCP to ProRes or x264 while transforming to bt709. I am experimenting with the colorspace filter, as I've found that most DCPS that I've converted have low contrast and washed out colours. As some DCP players (EasyDCP) allow XYZ -> bt709 transforms, I wanted to see if forcing bt709 would produce more satisfactory images. Clearly, I am not very knowledgeable when it comes to colour spaces, so any feedback is greatly appreciated. I noticed that the colormatrix filter requires that both input and output colour matrixes are specified, but I understood from the documentation that the colorspace filter does not require this. Here is my command: ffmpeg -i /Volumes/Stardom/kieran_tests/input.mxf -c:v prores -vf colorspace=bt709 /Volumes/Stardom/kieran_tests/output.mov ffmpeg -i /Volumes/Stardom/kieran_tests/input.mxf -c:v prores -vf colorspace=bt709 /Volumes/Stardom/kieran_tests/output.mov ffmpeg version git-2016-05-13-ed3a025 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 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-libfaac --enable-libass --enable-ffplay --enable-libx265 --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-nonfree --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 41.102 / 57. 41.102 libavformat57. 36.100 / 57. 36.100 libavdevice57. 0.101 / 57. 0.101 libavfilter 6. 45.100 / 6. 45.100 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc54. 0.100 / 54. 0.100 [mxf @ 0x7fd0bc00ac00] "OPAtom" with 2 ECs - assuming OP1a Input #0, mxf, from '/Volumes/Stardom/kieran_tests/input.mxf': Metadata: uid : a9becd46-734f-4f2b-b8a0-b9ef8fb12e7c generation_uid : 43deb483-89d5-4999-adb2-0b489a4c6b6b company_name: QubeCinema, Inc. product_name: QubeMaster Pro product_version : 2.4 product_uid : a6d3ea56-8155-4dfc-86f6-664b12671427 modification_date: 2016-01-15 12:55:18 application_platform: win32 material_package_umid: 0x060A2B340101010501010F201300397E9CDFB9214B38BD67D776C752A98A material_package_name: AS-DCP Material Package timecode: 00:00:00:00 Duration: 00:12:03.25, start: 0.00, bitrate: 178178 kb/s Stream #0:0: Video: jpeg2000, rgb48le(12 bpc), 2048x858, SAR 1:1 DAR 1024:429, 24 tbr, 24 tbn Metadata: file_package_umid: 0x060A2B340101010501010F201300C1CA596A60CE49009349EA73FD0B54D3 file_package_name: File Package: SMPTE 429-4 frame wrapping of JPEG 2000 codestreams File '/Volumes/Stardom/kieran_tests/output.mov' already exists. Overwrite ? [y/N] y [prores @ 0x7fd0bd074c00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd079400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd07dc00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd082400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd086c00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd08b400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd08fc00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd094400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bc012400] encoding with ProRes standard (apcn) profile [mov @ 0x7fd0bc016c00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, mov, to '/Volumes/Stardom/kieran_tests/output.mov': Metadata: uid : a9becd46-734f-4f2b-b8a0-b9ef8fb12e7c generation_uid : 43deb483-89d5-4999-adb2-0b489a4c6b6b company_name: QubeCinema, Inc. product_name: QubeMaster Pro product_version : 2.4 product_uid : a6d3ea56-8155-4dfc-86f6-664b12671427 modification_date: 2016-01-15 12:55:18 application_platform: win32
Re: [FFmpeg-user] -vf Colorspace filter - 'Unknown input primaries 2' error
Hi again, Kieran, sorry I meaned : "are the DPX logarithmic XYZ or linear XYZ? " Didnt mean RGB. Best Regards Chris Am 13.05.2016 um 12:46 schrieb Kieran O'Leary: Hello, I want to transcode a DCP to ProRes or x264 while transforming to bt709. I am experimenting with the colorspace filter, as I've found that most DCPS that I've converted have low contrast and washed out colours. As some DCP players (EasyDCP) allow XYZ -> bt709 transforms, I wanted to see if forcing bt709 would produce more satisfactory images. Clearly, I am not very knowledgeable when it comes to colour spaces, so any feedback is greatly appreciated. I noticed that the colormatrix filter requires that both input and output colour matrixes are specified, but I understood from the documentation that the colorspace filter does not require this. Here is my command: ffmpeg -i /Volumes/Stardom/kieran_tests/input.mxf -c:v prores -vf colorspace=bt709 /Volumes/Stardom/kieran_tests/output.mov ffmpeg -i /Volumes/Stardom/kieran_tests/input.mxf -c:v prores -vf colorspace=bt709 /Volumes/Stardom/kieran_tests/output.mov ffmpeg version git-2016-05-13-ed3a025 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) 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-libfaac --enable-libass --enable-ffplay --enable-libx265 --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags=-I/usr/local/Cellar/openjpeg/1.5.2_1/include/openjpeg-1.5 --enable-nonfree --enable-vda libavutil 55. 24.100 / 55. 24.100 libavcodec 57. 41.102 / 57. 41.102 libavformat57. 36.100 / 57. 36.100 libavdevice57. 0.101 / 57. 0.101 libavfilter 6. 45.100 / 6. 45.100 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc54. 0.100 / 54. 0.100 [mxf @ 0x7fd0bc00ac00] "OPAtom" with 2 ECs - assuming OP1a Input #0, mxf, from '/Volumes/Stardom/kieran_tests/input.mxf': Metadata: uid : a9becd46-734f-4f2b-b8a0-b9ef8fb12e7c generation_uid : 43deb483-89d5-4999-adb2-0b489a4c6b6b company_name: QubeCinema, Inc. product_name: QubeMaster Pro product_version : 2.4 product_uid : a6d3ea56-8155-4dfc-86f6-664b12671427 modification_date: 2016-01-15 12:55:18 application_platform: win32 material_package_umid: 0x060A2B340101010501010F201300397E9CDFB9214B38BD67D776C752A98A material_package_name: AS-DCP Material Package timecode: 00:00:00:00 Duration: 00:12:03.25, start: 0.00, bitrate: 178178 kb/s Stream #0:0: Video: jpeg2000, rgb48le(12 bpc), 2048x858, SAR 1:1 DAR 1024:429, 24 tbr, 24 tbn Metadata: file_package_umid: 0x060A2B340101010501010F201300C1CA596A60CE49009349EA73FD0B54D3 file_package_name: File Package: SMPTE 429-4 frame wrapping of JPEG 2000 codestreams File '/Volumes/Stardom/kieran_tests/output.mov' already exists. Overwrite ? [y/N] y [prores @ 0x7fd0bd074c00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd079400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd07dc00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd082400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd086c00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd08b400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd08fc00] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bd094400] encoding with ProRes standard (apcn) profile [prores @ 0x7fd0bc012400] encoding with ProRes standard (apcn) profile [mov @ 0x7fd0bc016c00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Output #0, mov, to '/Volumes/Stardom/kieran_tests/output.mov': Metadata: uid : a9becd46-734f-4f2b-b8a0-b9ef8fb12e7c generation_uid : 43deb483-89d5-4999-adb2-0b489a4c6b6b company_name: QubeCinema, Inc. product_name: QubeMaster Pro product_version : 2.4 product_uid : a6d3ea56-8155-4dfc-86f6-664b12671427 modification_date: 2016-01-15 12:55:18 application_platform: win32 material_package_umid: 0x060A2B340101010501010F201300397E9CDFB9214B38BD67D776C752A98A material_package_name: AS-DCP Material Package timecode: 00:00:00:00 encoder : Lavf57.36.100 Stream #0:0: Video: prores (apcn / 0x6E637061), yuv422p10le, 2048x858 [SAR 1:1 DAR 1024:429], q=2-31, 200 kb/s, 0.04 fps, 12288 tbn Metadata: file_package_umid:
Re: [FFmpeg-user] Cut detection with dynamic threshold possible?
On Apr 25, 2016, at 11:25 AM, Christoph Gerstbauer <christophgerstba...@gmail.com> wrote: Hello, I want to make shotdetections (scene cut) with ffmpeg. (a shot is the video between 2 cuts) My syntax knowledge at this time offers to generate only the FIRST FRAME of each shot. NO LAST FRAME. It would be nice to find also the last frame of a shot, but anyway this ticket should focus on the threshold itself. Actual Syntax to generate shotdetection thumbnails with ffmpeg: ffmpeg -i -vf select='gt(scene\,0.7)' -vsync 0 -an keyframes%03d.jpg the value "0.7" is the threshold. A higher one will lead to less scenes thumbails - low sensitivity A lower one will lead to much more thumbnails - high senisitivity I mentioned that shotdetection algorythms generally has problems with to dark scenes, so it would be fine to have a threshold which is DYNAMIC to find every cut in the video. But my "FFmpeg-Fu" is to weak to find a solution on my own. So, is it possible to use a dynamic threshold within ffmpeg scene detection, and if yes -> how can I do that? You could also consider using the YDIF values from the signalstats filter. It will quantify the visual difference in the Y plane from one frame to the next and thus spike on scene cuts. Dave Rice Hell Dave, thank you for the hint. I am testing now different videos with QC tools (based on ffmpeg) and using the integrated Y filter to show a graph on the timeline. That works good. Looks like in Davinci Resolve scene cut filter :) And the peaks in the timeline hit hardly all hard cuts. Some false positives when flashing happens in video, but this does not matter. But what I need is a syntax which I can use in FFmpeg commandline which uses the ydif function from the singalstats filter and force ffmpeg to output jpgs at the video position where this big peaks happen. But as I said, I have no idea how I can do it :/ I need a working formular/syntax for that. Do you have any idea how I this yntax would look like? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Cut detection with dynamic threshold possible?
Hello, I want to make shotdetections (scene cut) with ffmpeg. (a shot is the video between 2 cuts) My syntax knowledge at this time offers to generate only the FIRST FRAME of each shot. NO LAST FRAME. It would be nice to find also the last frame of a shot, but anyway this ticket should focus on the threshold itself. Actual Syntax to generate shotdetection thumbnails with ffmpeg: ffmpeg -i -vf select='gt(scene\,0.7)' -vsync 0 -an keyframes%03d.jpg the value "0.7" is the threshold. A higher one will lead to less scenes thumbails - low sensitivity A lower one will lead to much more thumbnails - high senisitivity I mentioned that shotdetection algorythms generally has problems with to dark scenes, so it would be fine to have a threshold which is DYNAMIC to find every cut in the video. But my "FFmpeg-Fu" is to weak to find a solution on my own. So, is it possible to use a dynamic threshold within ffmpeg scene detection, and if yes -> how can I do that? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How can I extract 8 linear thumbnails from videos with differnt length?
Depending on the calculation it may be easier/more intuitive to use framerate: ffmpeg -i input -filter:v framerate=1/10 out-%d.jpg will create one image every ten secs. Hi I dont need every x seconds one image ;) I need it like (dirty example) at youporn. Every videos (not depending which filelength) has exact 9 thumbnails. Linear division over the length. So the 5th thumbnail is in the middle of the video. Best Regards Chris ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How can I extract 8 linear thumbnails from videos with differnt length?
Hi I want to extract 8 thumbnails from every video I have which represents a linear "timeline" over the complete length (100percent) of the video. Examples: 90min video: thumbnail at Minute 10, 20, 30, ... 80. 9min video: thumbnail at Minute 1, 2, 3, ... 8. 120min video: thumbnail at Minute 15, 30, 45, ... 105. Is there a filter which can be used for that in combination with the -vframe command? I want to use ONE command line, where the video length is used as 100 percent. And at every 11,1% (100/9) of the timeline I want to generate a thumbnail. I dont need a thumbnail at 0 and 100% ;) because there is mostly black content. Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] field order detection - numbering framepositions possible?
Hello Moritz, I dont want to extract the Metadata from each frame. I want to analyse the video itself, not its metadata. In some cases the metadata will not fit to the essence picture. And for these cases I want to analyse the essence, and print out a "report" on which timeposition a frame has different field order to the wanted one. Best Regards Christoph Am 26.01.2016 um 13:06 schrieb Moritz Barsnick: Hi Christoph, On Tue, Jan 26, 2016 at 11:36:54 +0100, Christoph Gerstbauer wrote: Is it possible to MARK the framenumbers to its detected field orders? Via framenumber or timestamp? Or to search a "known" TFF content for BFF frames? To force the output to lines like: Found BFF frames at position X I don't think ffmpeg provides the desired statistics, but you could extract them yourself. The idet filter inserts metadata into each frame as documented here: https://ffmpeg.org/ffmpeg-filters.html#idet You can use ffprobe to show and analyze the metadata and parse your own conclusions: $ ffprobe -f lavfi -i "movie=infile.avi,idet" -show_frames and use ffprobe arguments to show only the interesting fields (frame number, tff/bff, statistics) for the desired streams. Thinking about it, those "cumulative" values may even be the indicators you are looking for. (Not sure.) Cheers, Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] FFplay questions
How can I trigger FFplay to seek to another timeposition while the file is stil open? I always have to reopen it and set a new -ss option. I want to do this while the file is playing, or in pause mode. Like in MPV or SHOTCUT. How can I do that? I want the same behaviour when clicking into the picture (timeline = 0-100 percent). It jumps automatically to a percentual time position. But how can I trigger that on the command line? While the file is playing, I have no possibility to type a new command into the timeline. Best Regards Christoph Am 05.02.2016 um 12:31 schrieb Paul B Mahol: On 2/5/16, Christoph Gerstbauer <christophgerstba...@gmail.com> wrote: Hi 1.) The positioning with ffplay via the Videpicture clicking works very fast. I click into the picture and immediately I get to the percentual position (100 percent= width of the video window) of the video. When using the comando -ss It take longer as logn the file is. Examples: 30min file -> very fast 4h file (avi, huffyuv) -> 2 seconds waiting time. It it possible to speed the seeking time via -ss up so that I get a reaction time like via clicking into the videopicture? 2.) Is there a shortcut to go one frame backward? Only forward is possible by using the S key. Backward would also be very helpfull. I got the recommendation, that I should not use FFplay as VideoPlayer. And is there a player alternative outside which can be used als alternative to VLC, MPlayer oder FFplay? Usecase: I want to play and seek frame by frame inside of video files like AVI with huffyuv, or MXF with MPEG2. And the seeking should work very fast, also with longer files (4h). mpv.io ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] FFplay questions
Hi 1.) The positioning with ffplay via the Videpicture clicking works very fast. I click into the picture and immediately I get to the percentual position (100 percent= width of the video window) of the video. When using the comando -ss It take longer as logn the file is. Examples: 30min file -> very fast 4h file (avi, huffyuv) -> 2 seconds waiting time. It it possible to speed the seeking time via -ss up so that I get a reaction time like via clicking into the videopicture? 2.) Is there a shortcut to go one frame backward? Only forward is possible by using the S key. Backward would also be very helpfull. I got the recommendation, that I should not use FFplay as VideoPlayer. And is there a player alternative outside which can be used als alternative to VLC, MPlayer oder FFplay? Usecase: I want to play and seek frame by frame inside of video files like AVI with huffyuv, or MXF with MPEG2. And the seeking should work very fast, also with longer files (4h). Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] FFplay questions
Am 05.02.2016 um 12:31 schrieb Paul B Mahol: On 2/5/16, Christoph Gerstbauer <christophgerstba...@gmail.com> wrote: Hi 1.) The positioning with ffplay via the Videpicture clicking works very fast. I click into the picture and immediately I get to the percentual position (100 percent= width of the video window) of the video. When using the comando -ss It take longer as logn the file is. Examples: 30min file -> very fast 4h file (avi, huffyuv) -> 2 seconds waiting time. It it possible to speed the seeking time via -ss up so that I get a reaction time like via clicking into the videopicture? 2.) Is there a shortcut to go one frame backward? Only forward is possible by using the S key. Backward would also be very helpfull. I got the recommendation, that I should not use FFplay as VideoPlayer. And is there a player alternative outside which can be used als alternative to VLC, MPlayer oder FFplay? Usecase: I want to play and seek frame by frame inside of video files like AVI with huffyuv, or MXF with MPEG2. And the seeking should work very fast, also with longer files (4h). mpv.io ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user Thank you! the frameexact navigation works very fast, like in shotcut :) But can you tell me: What are these guys doeing differently comparing to FFPlay? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] field order detection - numbering framepositions possible?
As we know it is possible to detect field orders with ffmpeg: ffmpeg -i -vf idet -f rawvideo -y NUL Example Output: [Parsed_idet_0 @ 003ea220] Single frame detection: TFF:0 BFF:153 Progressive:0 Undetermined:0 [Parsed_idet_0 @ 003ea220] Multi frame detection: TFF:0 BFF:153 Progressive:0 Undetermined:0 Is it possible to MARK the framenumbers to its detected field orders? Via framenumber or timestamp? Or to search a "known" TFF content for BFF frames? To force the output to lines like: Found BFF frames at position X (https://ffmpeg.org/pipermail/ffmpeg-user/2014-October/023995.html) Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?
Am 13.01.2016 um 22:30 schrieb Dave Rice: On Jan 13, 2016, at 9:25 AM, Bouke / VideoToolShed <bo...@videotoolshed.com> wrote: On Jan 13, 2016, at 14:17, Robert Krüger <krue...@lesspain.de> wrote: On Wed, Jan 13, 2016 at 12:53 PM, Christoph Gerstbauer < christophgerstba...@gmail.com> wrote: FFmpeg allows me to set a timecode of 24:00:00:00 and beyond. e.g "-timecode 24:00:00:00" When I make an MXF D10 for example, the value of 24:00:00:00 is still in the file. Most but not all programs ignore this and display 00:00:00:00 correctly. Here are some sample extractions of the timecode offset value in different mxf d10 files generated by ffmpeg: PAL 25fps: -timecode 12:34:56:11 -> in file: 11477b hex -> 1132411 dec -timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec -timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec -timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec -timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h -timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec -timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h NTSC 30fps -timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec -timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec Why is this possible to set a timecode after 23:59:59:XX? Is there a usecase? I wasn't able to find any official spec that says what the limit for the hour part is but since it in the general case does not define a time of day but an offset, why limit it to 25 hours and not use the full 100? On a side-note, I have not come across a real-world use case for a timecode of that magnitude either. Some forms of TC just lack the space to store higher numbers IIRC (LTC / VITC, perhaps also in MpegII frame headers) But there is logic in not going higher, as it is ‘time’. For a real world use case, in the old days of tape, a reelname most of the time corresponded with the hour. So a production with more than 24 tapes needed better administration in reel names that had to be written on the tape and box. FWIW QuickTime timecode flags includes a "24 hour max" flag to clarify when it is and is not enabled in a timecode track, but >24 hour values are certainly allowed in the QuickTime spec. https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html <https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html> Dave Rice ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user Hello Dave, as seen in SMPTE S012M Time and Control Code from 1999: Page 2 of 21 pages: "4.2 Time address of a frame Each frame shall be identified by a unique and complete address consisting of an hour, minute, second, and frame number. Refer to ANSI/SMPTE 258M for standard formats used to display frame-based time. The hours, minutes, and seconds follow the ascending progression of a 24-hour clock beginning with 0 hours, 0 minutes, and 0 seconds to 23 hours, 59 minutes, and 59 seconds. " It would be interesting what would be mentioned in the newest SMPTE version about timecode. Does anyone have this standard paper? (Year 2014) Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Dolby-E Codec
Hi, Is it possible to decode or encode Dolby-E with ffmpeg? I just find decoder encoder information about: ac3 -> dolby digital eac3 -> Dolby digital plus but no dolby E Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?
FFmpeg allows me to set a timecode of 24:00:00:00 and beyond. e.g "-timecode 24:00:00:00" When I make an MXF D10 for example, the value of 24:00:00:00 is still in the file. Most but not all programs ignore this and display 00:00:00:00 correctly. Here are some sample extractions of the timecode offset value in different mxf d10 files generated by ffmpeg: PAL 25fps: -timecode 12:34:56:11 -> in file: 11477b hex -> 1132411 dec -timecode 10:00:00:00 -> in file: 0dbba0 hex -> 90 dec -timecode 20:00:00:00 -> in file: 1b7740 hex -> 180 dec -timecode 23:59:59:24 -> in file: 20f57f hex -> 215 dec -timecode 24:00:00:00 -> in file: 20f580 hex -> 216 dec -> 24h -timecode 24:00:00:01 -> in file: 20f581 hex -> 2160001 dec -timecode 25:00:00:00 -> in file: 225510 hex -> 225 dec -> 25h NTSC 30fps -timecode 23:59:59;29 -> in file: 2782df hex -> 2589407 dec -timecode 24:00:00;00 -> in file: 2782e0 hex -> 2589408 dec Why is this possible to set a timecode after 23:59:59:XX? Is there a usecase? Best Regards Christoph Gerstbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Decode FFV1 AVI back to DPX
Additionally: here is also a good understanding description of the LOG vs LINEAR issue: https://library.creativecow.net/articles/oconnell_pete/cineon.php Am 13.12.15 um 02:47 schrieb Peter B.: On 12/08/2015 04:15 PM, Dave Rice wrote: It is indeed possible to decode back to DPX- I've losslessly compressed 10bit RGB DPX to FFV1.mkv and back with matching framemd5s all the way. It's a beautiful thing. But it's some context loss. For instance if the source DPX is logarithmic I'd be skeptical that the ffv1.mkv rendition would present logarithmically. I haven't tried it myself, but actually logarithmic should be stored in FFV1 as-is. The context how to interpret the color information is currently not automatically stored, and would therefore have to be provided manually when re-transcoding, or when playing back. Has anyone tested this yet? Kind regards, Pb ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Decode FFV1 AVI back to DPX
I did. As I remember, it was lossless. My problem was just the recreating an logarithmic DPX from a FFV1 AVI. Do you know how I can do this? I just ned the correct syntax to write DPX files which has the same LOG flag in the header like in the original source. Best Regards Christoph Am 13.12.15 um 02:47 schrieb Peter B.: On 12/08/2015 04:15 PM, Dave Rice wrote: It is indeed possible to decode back to DPX- I've losslessly compressed 10bit RGB DPX to FFV1.mkv and back with matching framemd5s all the way. It's a beautiful thing. But it's some context loss. For instance if the source DPX is logarithmic I'd be skeptical that the ffv1.mkv rendition would present logarithmically. I haven't tried it myself, but actually logarithmic should be stored in FFV1 as-is. The context how to interpret the color information is currently not automatically stored, and would therefore have to be provided manually when re-transcoding, or when playing back. Has anyone tested this yet? Kind regards, Pb ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Decode FFV1 AVI back to DPX
Hello Abhi, can you give me/us an DPX sample (one singular DPX file which respresents the source), just to check if it is 16 or 10bit. You can test if you get the orginal dpx files back via the framemd5 option in ffmpeg. You make for every frame an md5 checksum via: ffmpeg -i inputfile -an -f framemd5 outputtextfile.txt Do this for the inputs DPX sequence and for the output dpx sequence. Then compare both files -> If the txt files are equal, then it was lossless. Comparing can be done for example with notepad++ inlcuding the COMPARE plugin (both open source). But: Do your DPX file have linear or logarithmic values? You may check this with MEDIAINFO. (also open source) If the values are/were logarithmic -> then the backtranscodng to DPX will not be lossless. Best Regards Christoph Gerstbauer Am 07.12.2015 um 11:04 schrieb Abhi Akkeneni: Hello Christoph and Peter, Thank you both for your quick responses. Apologies for replying so late, did not have internet access till today. So what I have done so far is encode the DPX files using FFV1 wrapped with avi using the following cmd: *ffmpeg -i C:\Users\Abhi\Desktop\DPX\%%01d.dpx -vcodec ffv1 -level 3 -coder 1 -pix_fmt gbrp10le -an C:\Users\Abhi\Desktop\FFv1_avi\RGBTest_AVI.avi* I then decode the .avi back to DPX using: *ffmpeg -i C:\Users\Abhi\Desktop\FFv1_avi\RGBTest_AVI.avi -pix_fmt gbrp10le -vcodec dpx C:\Users\Abhi\Desktop\ffv1_restored_DPX\%%01d_AVI_restored.dpx* *The original DPX details(Using GraphicsMagick Identify command):* C:\Program Files (x86)\GraphicsMagick-1.3.23-Q16>gm identify -verbose C:\Users\A bhi\Desktop\DPX\1.dpx Image: C:\Users\Abhi\Desktop\DPX\1.dpx Format: DPX (SMPTE 268M-2003 (DPX 2.0)) Geometry: 2048x1556 Class: DirectClass Type: true color Depth: 16 bits-per-pixel component Channel Depths: Red: 16 bits Green:16 bits Blue: 16 bits Channel Statistics: Red: Minimum: 1281.00 (0.0195) Maximum: 40423.00 (0.6168) Mean: 6219.86 (0.0949) Standard Deviation: 9262.09 (0.1413) Green: Minimum: 320.00 (0.0049) Maximum: 39910.00 (0.6090) Mean: 5420.29 (0.0827) Standard Deviation: 9250.51 (0.1412) Blue: Minimum: 0.00 (0.) Maximum: 39398.00 (0.6012) Mean: 5038.24 (0.0769) Standard Deviation: 9230.74 (0.1409) Filesize: 12.2Mi Interlace: No Orientation: TopLeft Background Color: white Border Color: #DFDFDFDFDFDF Matte Color: #BDBDBDBDBDBD Page geometry: 2048x1556+0+0 Compose: Over Dispose: Undefined Iterations: 0 Compression: Undefined Document: RL01_001.dpx DPX:file.version: V2.0 DPX:file.filename: RL01_001.dpx DPX:file.creation.datetime: 2015:09:25:14:01:13:IST DPX:image.orientation: 0 DPX:source.filename: /mnt/dothill_01/YEAR_2015/FOR_GRADE/09_SEP/** 2K_24FPS/250915/S1/REEL01/RL01_001.dpx DPX:source.creation.datetime: 2015:09:25:14:01:13:IST DPX:source.device.name: Scanity V2.7.1 DPX:source.device.serialnumber: 133 DPX:source.aspect.ratio.horizontal: 2048 DPX:source.aspect.ratio.vertical: 2048 DPX:mp.frame.position: 1 DPX:mp.frame.rate: 24 DPX:tv.time.code: 00:00:00:01 DPX:tv.video.signal: 0 DPX:user.data.id: Digital Film Technology Signature: 09342f3c2835c1f23379d150dd61b8e8214743ff41d4c256b0d42f9412de8276 Profile-DPXUSERDATA: 512 bytes Tainted: False User Time: 0.031u Elapsed Time: 0:01 Pixels Per Second: 98.0Mi *Restored DPX File Detials:* C:\Program Files (x86)\GraphicsMagick-1.3.23-Q16>gm identify -verbose C:\Users\A bhi\Desktop\ffv1_restored_DPX\1_AVI_restored.dpx Image: C:\Users\Abhi\Desktop\ffv1_restored_DPX\1_AVI_restored.dpx Format: DPX (SMPTE 268M-2003 (DPX 2.0)) Geometry: 2048x1556 Class: DirectClass Type: true color Depth: 16 bits-per-pixel component Channel Depths: Red: 16 bits Green:16 bits Blue: 16 bits Channel Statistics: Red: Minimum: 1281.00 (0.0195) Maximum: 40423.00 (0.6168) Mean: 6219.86 (0.0949) Standard Deviation: 9262.09 (0.1413) Green: Minimum: 320.00 (0.0049) Maximum: 39910.00 (0.6090) Mean: 5420.29 (0.0827) Standard Deviation: 9250.51 (0.1412) Blue: Minimum: 0.00 (0.) Maximum: 39398.00 (0.6012) Mean: 5038.24 (0.0769) Standard Deviation: 9230.74 (0.1409) Filesize: 12.2Mi Interlace: No Orientation: TopLeft Background Color: white Border Color: #DFDFDFDFDFDF Matte Color: #BDBDBDBDBDBD Page geometry: 2
Re: [FFmpeg-user] Decode FFV1 AVI back to DPX
Hello Abhishek, color format has your DPX original source? RGB 10bit? Linear or logarithmic? And which color format has the FFv1? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to deinterlace a 25fps (50i tff content) video with FFplay and output it as 50p?
I am using following syntax to deinterlace TFF content, but I only get 25p output. How can I force ffplay to output 50p? "-r 50" is not working. ffplay -i test.avi -vf "yadif=0:0" -loglevel debug $ ffplay test.avi -vf yadif=1 ffplay test.avi -vf yadif=1 does not work for me, too. I need the same behaviour like in WMP, when I use LAV filter (deinterlacding ON, force, TopFieldFirst preset). With this filter I get a perfect deinterlacing with the behavior of old tupe reference monitors. And I want to use same in FFplay. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to deinterlace a 25fps (50i tff content) video with FFplay and output it as 50p?
The man looks on with incredulity for is he sure that the manner in which this is done has just been indicated. He turns to the trusty manual, source of all knowledge. He begins to read... mode The interlacing mode to adopt. It accepts one of the following values: 0, send_frame Output one frame for each frame. 1, send_field Output one frame for each field. 2, send_frame_nospatial Like send_frame, but it skips the spatial interlacing check. 3, send_field_nospatial Like send_field, but it skips the spatial interlacing check. And thus did the man quote the manner in which one instructs the tool to give the results desired. I read that before I posted the ticket. Thats why I opened it, it does not work. (windows) ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How to deinterlace a 25fps (50i tff content) video with FFplay and output it as 50p?
Hi, I am trying to output a 25fps (50i content) with deinterlacing and doubled framerate. I am using following syntax to deinterlace TFF content, but I only get 25p output. How can I force ffplay to output 50p? "-r 50" is not working. ffplay -i test.avi -vf "yadif=0:0" -loglevel debug ffplay version N-74751-gb54e03c Copyright (c) 2003-2015 the FFmpeg developers built with gcc 4.9.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls -enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libi odplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschro libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --e able-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 59.100 / 56. 59.100 libavformat56. 40.101 / 56. 40.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 40.100 / 5. 40.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc53. 3.100 / 53. 3.100 [avi @ 04880740] Format avi probed with size=2048 and score=100 [avi @ 04880360] use odml:1 [avi @ 04880740] Before avformat_find_stream_info() pos: 10088 bytes read:198368 seeks:6 [avi @ 04880740] parser not found for codec huffyuv, packets or times may be invalid. [avi @ 04880740] parser not found for codec pcm_s16le, packets or times may be invalid. [avi @ 04880740] parser not found for codec huffyuv, packets or times may be invalid. [avi @ 04880740] parser not found for codec pcm_s16le, packets or times may be invalid. [avi @ 04880740] All info found [avi @ 04880740] After avformat_find_stream_info() pos: 381332 bytes read:598276 seeks:6 frames:2 Input #0, avi, from 'test.avi': Metadata: encoder : Lavf57.3.100 Duration: 00:00:30.00, start: 0.00, bitrate: 78613 kb/s Stream #0:0, 1, 1/25: Video: huffyuv, 1 reference frame (HFYU / 0x55594648), yuv422p, 720x576, 1/25, 77161 kb/s, SAR 197:180 DAR 197:144, 25 fps, 25 bc Stream #0:1, 1, 1/48000: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s16, 1536 kb/s detected 16 logical cores [ffplay_abuffer @ 048a0d80] Setting 'sample_rate' to value '48000' [ffplay_abuffer @ 048a0d80] Setting 'sample_fmt' to value 's16' [ffplay_abuffer @ 048a0d80] Setting 'channels' to value '2' [ffplay_abuffer @ 048a0d80] Setting 'time_base' to value '1/48000' [ffplay_abuffer @ 048a0d80] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:(null) [AVFilterGraph @ 04893920] query_formats: 2 queried, 3 merged, 0 already done, 0 delayed Audio frame changed from rate:48000 ch:2 fmt:s16 layout:0 channels serial:-1 to rate:48000 ch:2 fmt:s16 layout:0 channels serial:1 Video frame changed from size:0x0 format:none serial:-1 to size:720x576 format:yuv422p serial:1 [ffplay_abuffer @ 048a0d80] Setting 'sample_rate' to value '48000' [ffplay_abuffer @ 048a0d80] Setting 'sample_fmt' to value 's16' [ffplay_abuffer @ 048a0d80] Setting 'channels' to value '2' [ffplay_abuffer @ 048a0d80] Setting 'time_base' to value '1/48000' [ffplay_abuffer @ 048a0d80] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:(null) [AVFilterGraph @ 0b2278e0] query_formats: 2 queried, 3 merged, 0 already done, 0 delayed [ffplay_buffer @ 05595e00] Setting 'video_size' to value '720x576' [ffplay_buffer @ 05595e00] Setting 'pix_fmt' to value '4' [ffplay_buffer @ 05595e00] Setting 'time_base' to value '1/25' [ffplay_buffer @ 05595e00] Setting 'pixel_aspect' to value '0/1' [ffplay_buffer @ 05595e00] Setting 'frame_rate' to value '25/1' [ffplay_buffer @ 05595e00] w:720 h:576 pixfmt:yuv422p tb:1/25 fr:25/1 sar:0/1 sws_param: [ffplay_crop @ 048a0e80] Setting 'out_w' to value 'floor(in_w/2)*2' [ffplay_crop @ 048a0e80] Setting 'out_h' to value 'floor(in_h/2)*2' [Parsed_yadif_0 @ 048a1080] Setting 'mode' to value '0' [Parsed_yadif_0 @ 048a1080] Setting 'parity' to value '0' [auto-inserted scaler 0 @ 04886780] Setting 'flags' to value 'bicubic' [auto-inserted scaler 0 @ 04886780] w:iw h:ih flags:'bicubic' interl:0 [ffplay_crop @ 048a0e80] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_yadif_0' and the filter 'ffplay_crop' [AVFilterGraph @ 05cad0e0] query_formats: 4 queried, 2 merged, 1
Re: [FFmpeg-user] How to deinterlace a 25fps (50i tff content) video with FFplay and output it as 50p?
$ ffplay test.avi -vf yadif=1 The unavoidable question is: You apparently knew that yadif takes options and passed "0:0", where did you look that up? At the FFplay documentation: https://ffmpeg.org/ffplay-all.html#yadif-1 ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Is FFV1 able to encode interlaced video?
Hi From an interlaced input (video tape) is it possible to capture interlaced video file encoded with FFV1 (using -flags +ilme+ildct)? I can't find an answer after long search. All my captures seem to be converted to progressive. Thanks ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user Hi, MrNice, is far as I know FFV1 does not care if a source is progressive or interlaced. It encodes video it AS IS, and does not change interlaced essence to progressive. When it is interlaced (top or bottom field first), the interlaced essence will be saved as is. Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Need more detailed description of the behaviour of the -ac channelcount option
Am 02.07.15 um 12:49 schrieb Nicolas George: Le quartidi 14 messidor, an CCXXIII, Christoph Gerstbauer a écrit : Hello Carl, so what can I do when my target has more audio channel than the source? For example if I have a file with 2ch stereo and my target is 4ch (with ch3 and ch4 silent) how can i do that? I need to generate silence for the last 2 channels because I dont want to copy ch1ch2 to ch3ch4. Hi Nicolas! I tried the pan filter, it works very well when using ONE audio source stream. For example I use this syntax to spread 2ch source to 8ch target: -af pan=8c|c0=c0|c1=c1|c2=c0|c3=c1|c4=c0|c5=c1|c6=c0|c7=c1 But what can I do when I want this? c1=c1 c2=c2 c3=silent c4=silent c5=silent c6=silent c7=silent c8=silent I tried to use the anullsrc (to generate silence), but to use that anullsrc would be a second audio input stream. But how can I defind a second audio input stream in pan? I think this is not possible. In the examples there is no hint for that. Am I right? mfg chris ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Need more detailed description of the behaviour of the -ac channelcount option
Am 03.07.2015 um 10:35 schrieb Nicolas George: Le quintidi 15 messidor, an CCXXIII, Christoph Gerstbauer a écrit : But what can I do when I want this? c1=c1 c2=c2 c3=silent c4=silent c5=silent c6=silent c7=silent c8=silent Just leave c3-c8 alone, pan will fill them with silence. And remember that channels are numbered starting at 0. So simple! Thank you very much! Br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Need more detailed description of the behaviour of the -ac channelcount option
Am 02.07.2015 um 11:04 schrieb Paul B Mahol: On 7/2/15, Christoph Gerstbauer christophgerstba...@gmail.com wrote: Then please don't use it, use an audiofilter instead. (The one that fits your needs.) I am not convinced that the current mapping of -ac to aresample is immutable. (Even if it is, you can still use the filter and you are on the safe side.) Carl Eugen Hello Carl, so what can I do when my target has more audio channel than the source? For example if I have a file with 2ch stereo and my target is 4ch (with ch3 and ch4 silent) how can i do that? I need to generate silence for the last 2 channels because I dont want to copy ch1ch2 to ch3ch4. If I have a target with less channels than the source I use the -map_channel option: Like: ffmpeg -i 24bitaudio8CH.wav -acodec pcm_s16le -map_channel 0.1.0 -map_channel 0.1.1 -ac 2 16bitaudio2CH_ch1ch2.wav So is this possible?: ffmpeg -i 2ch_audio_source.wav -i mono-silence -acodec pcm_s16le -map_channel 0.1.0 -map_channel 0.1.1 -map_channel 1.0.0 -map_channel 1.0.0 4ch_audio_target.wav Is there a filter which can generate silence as input source? See anullsrc and aevalsrc. Is anullsrc filter about to be debrecated in some years? I think anullsrc will be debrecated because aevalsrc offers mor e possibilities to generate sound or silence. And anullsrc only generates silence. Is this correct? So would it be better to use aevalsrc (just for generating silence), or are there any known bugs at aevalsrc? Best Regards Christoph Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Need more detailed description of the behaviour of the -ac channelcount option
Hello I need to know how -ac channelcount is exactly working. In the documenetation following is mentioned: -ac[:stream_specifier]channels(/input/output,per-stream/) Set the number of audio channels. For output streams it is set by default to the number of input audio channels. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options. But there is nothing descriped for these usecases: Inputfile has 2 channels (1stream) - outputfile setting -ac 8 (8channels, 1 stream) Inputfile has 8 channels (1stream) - outputfile setting -ac 2 (2channels, 1 stream) I tested a Stereo file to encode into IMX50 with 16bit audio an 8ch. The stereo pair was correctly placed at ch1 and ch2. The other 6 channels were silent (correct). Is this behaviour standard for -ac ? Or is there any mixing made in some cases? (8ch - 2ch?) I just want to prevent surprises when using -ac ;) So is -ac just + cutting of or + adding silent channels? Best Regards Christoph Gertsbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How to force input-fieldorder and other fieldorder questions
Hello I want to use this filter: https://ffmpeg.org/ffmpeg-filters.html#fieldorder But for that I have to tell ffmpeg that the inputvideo has field order X to get fieldorder Y at the output. But how can I do that? (I dont want to reencode the content with -vf setfield=X.) Example: I want to transcode a TFF source to a BFF target by shifting the picture one line. At the yadif filter I can say to the filter that the incoming video has field order X. How can I do that generally for ffmpeg? Is this list correct? # -vf fieldorder=tff / -vf fieldorder=bff - transforms the field order by shifting the picture # -vf setfield=tff/-vf setfield=bff - just sets the field order of the frame without changing the frame Some questions: # -top 0 / -top 1 - is this a debrectaed version of the fieldorder filter? Or does this something else? # -ildct- is this only for DCT based codecs or can this flag also be used for ffv1 (wavelet) for example? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How to set interlaced encoding for interlcaed DNxHD formats (220x/185x/220/145/120)?
Hello, I have the problem that I cannot set interlaced as encoding format for DNxHD 220x/185x/220/145/120 I think I use the wrong syntax for setting the field order: -vf setfield=1 or -top 1 both are not working. Is there anything else I can do for forcing interlaced encoding? Is -top deprecated? Best Regards Christoph C:\Users\gerstiffmpegnew -i I:\DNXHD\0_ffvhuff.avi -an -vcodec dnxhd -r 3/1001 -pix_fmt yuv422p10le -top 1 -b:v 220M I:\DNXHD\220x.mov ffmpeg version N-72734-g5cf84e5 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-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libm odplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroe dinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --en able-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 27.100 / 54. 27.100 libavcodec 56. 41.100 / 56. 41.100 libavformat56. 35.101 / 56. 35.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.100 / 1. 2.100 libpostproc53. 3.100 / 53. 3.100 Input #0, avi, from 'I:\DNXHD\0_ffvhuff.avi': Metadata: encoder : Lavf55.48.101 Duration: 00:00:10.00, start: 0.00, bitrate: 874120 kb/s Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p10le, 1920x1080, 877619 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc File 'I:\DNXHD\220x.mov' already exists. Overwrite ? [y/N] y [dnxhd @ 04d05500] video parameters incompatible with DNxHD. Valid DNxHD profiles: [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p10; framerate: 24000/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p10; framerate: 50/1 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 6/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 24000/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 3/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 240Mbps; pixel format: yuv422p; framerate: 50/1 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 290Mbps; pixel format: yuv422p; framerate: 6/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p; framerate: 24000/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 3/1001 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p; framerate: 50/1 [dnxhd @ 04d05500] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p; framerate: 6/1001 [dnxhd @ 04d05500] Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 3/1001 [dnxhd @ 04d05500] Frame size: 1920x1080i; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1920x1080i; bitrate: 145Mbps; pixel format: yuv422p; framerate: 3/1001 [dnxhd @ 04d05500] Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p; framerate: 3/1001 [dnxhd @ 04d05500] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 24000/1001 [dnxhd @ 04d05500] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 25/1 [dnxhd @ 04d05500] Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p10; framerate: 50/1 [dnxhd @ 04d05500] Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 6/1001 [dnxhd @ 04d05500] Frame size: 1280x720p; bitrate: 90Mbps; pixel format:
Re: [FFmpeg-user] How to set interlaced encoding for interlcaed DNxHD formats (220x/185x/220/145/120)?
Andy Furniss wrote: Christoph Gerstbauer wrote: Hello, I have the problem that I cannot set interlaced as encoding format for DNxHD 220x/185x/220/145/120 I think I use the wrong syntax for setting the field order: -vf setfield=1 or -top 1 both are not working. May not be any help with dnxhd but I made some x264 recently and had to say twice like - -i infile -vf setfield=tff -x264-params ...:tff=1:... ... http://www.itbroadcastanddigitalcinema.com/ffmpeg_howto.html#Encoding_VC-3 says use -flags +ildct (I guess you may need both setfield and top= (or something as well) Thank you, Andy! -flags +ildct works :) best regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Does FFmpeg support AVC-Intra (and/or x264) with 10bit bitdepth? (yuv422p10le)
Most likely your x264 was build using option --bit-depth=8. Have a look here http://video.stackexchange.com/questions/13164/encoding-422-in-10-bit-with-libx264 http://video.stackexchange.com/questions/13164/encoding-422-in-10-bit-with-libx264 hm why must be x264 compiled with 8 or 10bit and not both? With other codecs this works without problems: ffvhuff, ffv1, DNxHD. Why is x264 so special in the bitdepth/pixelformat? Can anyone explain this to me please? Maybe is it possible to compile ffmpeg with 2 different libx264 codecs? one for 10 and one for 8bit? like: vcodec = libx264 vcodec = libx264_10 Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Does FFmpeg support AVC-Intra (and/or x264) with 10bit bitdepth? (yuv422p10le)
Hello I have problems to generate AVC Intra files with full 10bit encoding. It shrinks automatically to yuv422p: Incompatible pixel format 'yuv422p10le' for codec 'libx264', auto-selecting format 'yuv422p' See complete command line here: C:\Users\gerstiffmpegnew -i I:\AVC-INTRA\0_ffvhuff.avi -vcodec libx264 -g 1 -pix_fmt yuv422p10le -vb 100M -x264opts avcintra-class=100 -x264opts colorprim=bt709 -x264opts transfer=bt709 -x264opts colormatrix=bt709 -threads 8 -vf setfield=1 I:\AVC-INTRA\0_ffvhuff.mxf ffmpeg version N-72734-g5cf84e5 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-gnu tls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enab le-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libo penjpeg --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 --en able-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 27.100 / 54. 27.100 libavcodec 56. 41.100 / 56. 41.100 libavformat56. 35.101 / 56. 35.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.100 / 1. 2.100 libpostproc53. 3.100 / 53. 3.100 Input #0, avi, from 'I:\AVC-INTRA\0_ffvhuff.avi': Metadata: encoder : Lavf55.48.101 Duration: 00:00:10.00, start: 0.00, bitrate: 874120 kb/s Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p10le, 1920x1080, 877619 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc File 'I:\AVC-INTRA\0_ffvhuff.mxf' already exists. Overwrite ? [y/N] y Incompatible pixel format 'yuv422p10le' for codec 'libx264', auto-selecting format 'yuv422p' [libx264 @ 04c95400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 04c95400] profile High 4:2:2 Intra, level 4.1, 4:2:2 8-bit Output #0, mxf, to 'I:\AVC-INTRA\0_ffvhuff.mxf': Metadata: encoder : Lavf56.35.101 Stream #0:0: Video: h264 (libx264), yuv422p, 1920x1080, q=-1--1, 10 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc56.41.100 libx264 Stream mapping: Stream #0:0 - #0:0 (ffvhuff (native) - h264 (libx264)) Press [q] to stop, [?] for help frame= 250 fps=9.6 q=-1.0 Lsize= 129227kB time=00:00:10.00 bitrate=105862.4kbits/s video:129022kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.158273% [libx264 @ 04c95400] frame I:250 Avg QP:24.96 size:528476 [libx264 @ 04c95400] mb I I16..4: 6.4% 65.4% 28.3% [libx264 @ 04c95400] final ratefactor: 15.30 [libx264 @ 04c95400] 8x8 transform intra:65.4% [libx264 @ 04c95400] coded y,uvDC,uvAC intra: 96.2% 98.9% 91.6% [libx264 @ 04c95400] i16 v,h,dc,p: 7% 33% 24% 37% [libx264 @ 04c95400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 17% 19% 6% 7% 7% 9% 7% 16% [libx264 @ 04c95400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 19% 14% 7% 8% 7% 10% 8% 13% [libx264 @ 04c95400] i8c dc,h,v,p: 54% 12% 19% 15% [libx264 @ 04c95400] kb/s:105695.11 Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
1.) Please can you tell me YOUR used syntaxes for IMX30/40/50 for PAL and NTSC? I want to compare it to mine. Mine look remarkably similar to yours except for the ommission of 'ilme' which makes no sense for an I frame only format. I don't think I've ever used 40M, we either use 50 or 30 but my buffers/init_occupancy are 120 PAL and 1001000 NTSC at 30M Hello Tim, for IMX30 PAL/NTSC I have the same values like you. whats your buffers/init_occupancy for IMX50 NTSC? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
Hello Tim, for IMX30 PAL/NTSC I have the same values like you. whats your buffers/init_occupancy for IMX50 NTSC? Not sure I've ever had to do it, but a colleague uses an exact 5000 bit rate which gives a 1668334 buffer and frame size of 208541 if all figures are rounded to integers. These files have generally been accepted the other side of the Atlantic. As I've said before, the coder has got to reconcile a conflicting set of integer values when dealing with NTSC frame rates. It would be itneresting to diff frames made using the values above to those made using your values derived by working back from the exact integer frame size instead of forward from the bit rate. So I dont have to set the buffers/init_occupancy an general or just in the NTSC case? All what I have to set is the videobitrate itself? Current syntax part: -minrate 4840 -maxrate 4840 -b:v 4840 -bufsize 1668328 -rc_init_occupancy 1668328 Alternativ syntax: -minrate 5000 -maxrate 5000 -b:v 5000 So there is no need to set bufsize and rc_init_occupancy? Best Regards Christoph [...] ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
Am 15.06.2015 um 14:02 schrieb tim nicholson: On 15/06/15 09:39, Christoph Gerstbauer wrote: 1.) Please can you tell me YOUR used syntaxes for IMX30/40/50 for PAL and NTSC? I want to compare it to mine. Mine look remarkably similar to yours except for the ommission of 'ilme' which makes no sense for an I frame only format. Maybe the ffmpeg documentation is not correct? ILME: Force interlacing support in encoder (MPEG-2 and MPEG-4 only). Use this option if your input file is interlaced and you want to keep the interlaced format for minimum losses. The alternative is to deinterlace the input stream with-deinterlace, but deinterlacing introduces losses. Our IMX50 source will be always interlaced. But what does ILME have to to with Intra frame encoding (I-frame)? Does ILME only works for Hmmm. the docs describe 'ilme' twice; in Section 11 (Codec Options) it simply states:- ‘ilme’ Apply interlaced motion estimation. For an I frame only format motion estimation is not applicable. So I would say that ilme has nothing to do with Intra frame encoding. GOP structures in MPEG2 and MPEG4? If yes, this should be explained in the documentation, I think. But it isnt. Unless the flag performs some other undocumented fuction as well it ought to be redundant. Hm do you know who implemented ilme? Otherwise, what do you think? is it better to delete it from the syntax or not? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
Christoph Gerstbauer christophgerstbauer at gmail.com writes: Otherwise, what do you think? is it better to delete it from the syntax or not? Did you already run a test encode of I-frame only with and without ilme and compared the output files? Carl Eugen Carl, thank you for the hint :) Sometime I dont see the wood for the trees. I tested 3 different filesets now by encoding with and without the ILME option. And at every filesit the framemd5s are equal. - ILME is not necessary for D-10 format. Thank you! ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
1.) Please can you tell me YOUR used syntaxes for IMX30/40/50 for PAL and NTSC? I want to compare it to mine. Mine look remarkably similar to yours except for the ommission of 'ilme' which makes no sense for an I frame only format. Maybe the ffmpeg documentation is not correct? ILME: Force interlacing support in encoder (MPEG-2 and MPEG-4 only). Use this option if your input file is interlaced and you want to keep the interlaced format for minimum losses. The alternative is to deinterlace the input stream with-deinterlace, but deinterlacing introduces losses. Our IMX50 source will be always interlaced. But what does ILME have to to with Intra frame encoding (I-frame)? Does ILME only works for GOP structures in MPEG2 and MPEG4? If yes, this should be explained in the documentation, I think. But it isnt. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
Am 02.06.2015 um 08:19 schrieb tim nicholson: On 01/06/15 19:53, Michael Niedermayer wrote: On Mon, Jun 01, 2015 at 04:43:12PM +0200, Christoph Gerstbauer wrote: Hello I am testing the standard conformness of ffmpegs IMX50 (Mpeg2 I-frame, MXF) encoder. I mentioned via ffprobe or via encoding that ffmpeg does encode a NTSC framesize of: 208542. But the SMPTE Standard 356M-2001 specifies this vlaue with 208541. For PAL there is no problem, both framesizes are 25. So at the encoding params I have to set the following: -bufsize 200 (set ratecontrol buffer size (in bits)) SMPTE for PAL: max coded frame size = 250,000 BYTES = 200 bits SMPTE for NTSC: max codec frame size = 208,541 BYTES = 1668328 bits -rc_init_occupancy 200 (number of bits which should be loaded into the rc buffer before decoding starts) SMPTE for PAL: max coded frame size = 250,000 BYTES = 200 bits SMPTE for NTSC: max codec frame size = 208,541 BYTES = 1668328 bits But at the NTSC encoding I get get there errors: C:\Users\gerstiffmpegnew -i C:\Users\gersti\D-10_NTSC.mxf -map 0:v -map 0:a -c:v mpeg2video -r 3/1001 -pix_fmt yuv422p -aspect 4:3 -minr ate 5k -maxrate 5k -b:v 5k -g 1 -flags yes, this happens because 50mbit/sec is not correct a max framesize of 208541 results in a bit rate of max 49.999840 mbit/sec, IIUC thats what the spec means by 50mbit/sec The spec actually says Up to 50Mb/s and Up to 208541 that being the highest value that comes out below the the 50Mb/s. So I tend to agree with Michael. check yourself: 208541 * 8 * 3/1001 [...] Hello Michael, hello Tim! I have still a little problem with IMX40 with NTSC: I need to set the paketsize (framesize) at IMX40 NTSC to 166833bits. For that I need a bitrate of: 3920 FFmpeg fails because this bitrate is not allowed for IMX40. For IMX50 the bitrate 4840 is allowed. Is it possible to implement this bitrate (3920) to the allowed bitrate values at the IMX40 NTSC encoding? Command Line output: C:\Users\gerstiffmpegnew -i C:\NTSC_IMX50.mxf -map 0:v -map 0:a -c:v mpeg2video -s 720x512 -r 3/1001 -pix_ fmt yuv422p -aspect 4:3 -minrate 3920 -maxrate 3920 -b:v 3920 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 5 -top 1 -dc 10 -bufsize 1334667 -rc_init_occupancy 1334667 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56;11 C:\NTSC_IMX40.mxf ffmpeg version N-72734-g5cf84e5 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-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enablelibopencore-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. 27.100 / 54. 27.100 libavcodec 56. 41.100 / 56. 41.100 libavformat56. 35.101 / 56. 35.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.100 / 1. 2.100 libpostproc53. 3.100 / 53. 3.100 Guessed Channel Layout for Input Stream #0.1 : 7.1 Input #0, mxf, from 'C:\NTSC_IMX50.mxf': Metadata: uid : adab4424-2f25-4dc7-92ff-29bd000c generation_uid : adab4424-2f25-4dc7-92ff-29bd000c0001 company_name: FFmpeg product_name: OP1a Muxer product_version : 56.35.101 product_uid : adab4424-2f25-4dc7-92ff-29bd000c0002 modification_date: -01-01 00:00:00 material_package_umid: 0x060A2B340101010501010D0013E488BB5294713438E488BB005294713438E400 timecode: 12:34:56;11 Duration: 00:03:28.41, start: 0.00, bitrate: 62605 kb/s Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv), 720x512 [SAR 128:135 DAR 4:3], 5 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 59.94 tbc Metadata: file_package_umid: 0x060A2B340101010501010D0013E488BB5294713438E488BB005294713438E401 Stream #0:1: Audio: pcm_s16le, 48000 Hz, 8 channels, s16, 6144 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D0013E488BB5294713438E488BB005294713438E401 [mxf_d10 @ 04d858c0] error MXF D-10 only support 30/40/50 mbit/s Output #0, mxf_d10, to 'C:\NTSC_IMX40.mxf': Metadata: uid
Re: [FFmpeg-user] How can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
The new current ffmpeg version (June 02) is writing IMX50 MXF in the correct way (thanks to Michael Niedermayer): SIGNAL STANDARD=1 (SMPTE ST386 2004) COLOR SITING=0 (SMPTE ST 377) (the value 4 is debrecated) before this new ffmpeg version it was no set information in this flags: SIGNAL STANDARD= MISSING COLOR SITING= MISSING At this time I make a lot of test with different IMX50 PAL files from different encoders (NTSC tests are following): # ffmpeg # ffmbc # premiere cs6 # IRT # open cube (just wrapping) with MXF bmx (MXFDUMP.exe) I make MXFDUMPs and analyse the different metadata entries in the header. Furthermore I do the IRT Analyser test: the only files which pass the test are from # FFmpeg (new, June 02) # FFmbc (0.7) # IRT Golden Files ;) FFMPEG IMX50 output at mxf2raw: MXF File Information: Filename : C:\Users\Administrator\Dropbox\FFmpeg Syntax Hilfen\IMX MXF\_Testbed_MXFs+DUMPs\ffmpegnew01june\imx50.mxf MXF version: 1.2 OP label : OP-1A (internal essence, stream file, multi-track) Wrapping type : Frame Material package name : Material start timecode: 12:34:56:11 (@ 25fps) File src start timecode: 12:34:56:11 (@ 25fps) Edit rate : 25/1 Precharge : 0 Duration : 9 Rollout: 0 Identifications: Identification 0: Generation UID: adab4424.2f254dc7.92ff29bd.000c0001 Company name : FFmpeg Product name : OP1a Muxer Product version : (not set) Version string: 56.34.100 Product UID : adab4424.2f254dc7.92ff29bd.000c0002 Modification date : 0-00-00 00:00:00.000 Toolkit version : (not set) Platform : (not set) Track 0: Essence kind : Picture Essence type : D10 50Mbps Essence label: 060e2b34.04010101.0d010301.02010101 Material package uid : 060a2b34.01010105.01010d00.1343f1fb.52947134.c143f1fb.00529471.34c14300 Material track id: 2 Material track number: 0 File package uid : 060a2b34.01010105.01010d00.1343f1fb.52947134.c143f1fb.00529471.34c14301 File track id: 2 File track number: 0x05010100 Edit rate: 25/1 Duration : 9 Lead filler offset : 0 Picture coding label : 060e2b34.04010101.04010202.01020101 Signal standard : 1 (ITU 601) Frame layout : 1 (Separate Fields) Stored dimensions: 720x608 Display dimensions : 720x576 Display x offset : 0 Display y offset : 32 Aspect ratio : 4/3 AFD : (not set) Component depth : 8 Horiz subsampling: 2 Vert subsampling : 1 Color siting : 0 (Co-siting) Track 1: Essence kind : Sound Essence type : D10 AES3 PCM Essence label: 060e2b34.04010101.0d010301.02010101 Material package uid : 060a2b34.01010105.01010d00.1343f1fb.52947134.c143f1fb.00529471.34c14300 Material track id: 3 Material track number: 0 File package uid : 060a2b34.01010105.01010d00.1343f1fb.52947134.c143f1fb.00529471.34c14301 File track id: 3 File track number: 0x06011000 Edit rate: 25/1 Duration : 9 Lead filler offset : 0 Sampling rate: 48000/1 Bits per sample : 16 Block align : 16 Channel count: 8 D10 AES3 valid flags : b Sequence offset : 0 Locked : true Audio ref level : (not set) Dial norm: (not set) FFMPEG IMX50 MXFDUMP: [ K = Header ( ) 06.0e.2b.34.02.05.01.01.0d.01.02.01.01.02.04.00, L =104 (68), LL = 1 ] Major Version = 0001 Minor Version = 0002 KAGSize = 0200 ThisPartition = PreviousPartition = FooterPartition = 002b0c00 HeaderByteCount = 1200 IndexByteCount = 0200 IndexSID = 0002 BodyOffset = BodySID = 0001 Operational Pattern = 06.0e.2b.34.04.01.01.01.0d.01.02.01.01.01.09.00 = [ 1a - Single Item, Single Package ] EssenceContainers = [ count = 1 ] 0 = 06.0e.2b.34.04.01.01.01.0d.01.03.01.02.01.01.01 = [ D-10 - 50Mbps 625/50i (defined template) ] [ Omitted 1 dark KLV triplets ] [ K = Primer ( 0200 ) 06.0e.2b.34.02.05.01.01.0d.01.02.01.01.05.01.00, L = 1394 (572), LL = 3 ] [ Number of entries = 77, Entry size= 18 ] Local Tag UID 3c.0a :06.0e.2b.34.01.01.01.01.01.01.15.02.00.00.00.00 3b.02 :06.0e.2b.34.01.01.01.02.07.02.01.10.02.04.00.00 3b.05 :06.0e.2b.34.01.01.01.02.03.01.02.01.05.00.00.00 3b.06 :06.0e.2b.34.01.01.01.02.06.01.01.04.06.04.00.00 3b.03 :
Re: [FFmpeg-user] How to change FPS without re-render
Hello, you want to speed down 24fps to 23.976 fps? I always need to speed up 23.976fps material to 25fps (PAL): I use this videofilter: -vf setpts=0.95904*PTS -r 25 (23.976/25=0.95904) So maybe for your case this should work: (24/23.976=1.001001001001) -vf setpts=1.001001001001*PTS -r 23.976 But this only works with reencoding. But if you transcode from apple pro res to apple pro res the quality loss should be very small. best regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] IMX50 NTSC framesize differs to the SMPTE 356M-2001 Standard - why?
yes, this happens because 50mbit/sec is not correct a max framesize of 208541 results in a bit rate of max 49.999840 mbit/sec, IIUC thats what the spec means by 50mbit/sec The spec actually says Up to 50Mb/s and Up to 208541 that being the highest value that comes out below the the 50Mb/s. So I tend to agree with Michael. Hi, i have made a short excel calulation and I think that these settings/syntaxes should be the correct ones for PAL/NTSC D-10: Do you agree? minrate framerate max coded bits/byte bufsize maxrate framesize (Bytes) rc_init_occupancy video bitrate IMX50 PAL 25 25 8 200 5000 IMX40 PAL 25 20 8 160 4000 IMX30 PAL 25 15 8 120 3000 IMX50 NTSC29,97003208541 8 1668328 4840,16 IMX40 NTSC29,97003166833 8 1334664 3920,08 IMX30 NTSC29,97003125125 8 1001000 3000 Syntaxes: PAL IMX50 16bit 8ch -map 0:v -map 0:a -c:v mpeg2video -s 720x608 -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 5000 -maxrate 5000 -b:v 5000 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 200 -rc_init_occupancy 200 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 IMX40 16bit 8ch -map 0:v -map 0:a -c:v mpeg2video -s 720x608 -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 4000 -maxrate 4000 -b:v 4000 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 160 -rc_init_occupancy 160 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 IMX30 16bit 8ch -map 0:v -map 0:a -c:v mpeg2video -s 720x608 -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 3000 -maxrate 3000 -b:v 3000 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 120 -rc_init_occupancy 120 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 --- NTSC IMX50 16bit 8ch -map 0:v -map 0:a -c:v mpeg2video -s 720x512 -r 3/1001 -pix_fmt yuv422p -aspect 4:3 -minrate 4840 -maxrate 4840 -b:v 4840 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 1668328 -rc_init_occupancy 1668328 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 IMX40 16bit 8ch -map 0:v -map 0:a -c:v mpeg2video -s 720x512 -r 3/1001 -pix_fmt yuv422p -aspect 4:3 -minrate 3920 -maxrate 3920 -b:v 3920 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 1334664 -rc_init_occupancy 1334664 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 IMX30 16bit 8ch -map 0:v -map 0:a -c:v mpeg2video -s 720x512 -r 3/1001 -pix_fmt yuv422p -aspect 4:3 -minrate 3000 -maxrate 3000 -b:v 3000 -g 1 -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 1001000 -rc_init_occupancy 1001000 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s16le -ar 48000 -ac 8 -f mxf_d10 -timecode 12:34:56:11 Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Is there a difference between -g 1 and -intra?
Hello, what is the technical difference between the option -g 1 and -intra. Or is it the same? best regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] AC3 7.1 audio support
Hi Markus, On Wed, May 27, 2015 at 01:16:23 +0200, loeff...@eyetrap.net wrote: I cannot find any information about AC3 7.1 audio. Is that supported for encoding and decoding? Hi, as far as I know AC3 standard only supports 6 channels max. - 5.1 bg Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
Carl Eugen Hoyos cehoyos at ag.or.at writes: ffmpegnew -r 25 -s 720x576 -pix_fmt yuv422p10le -vcodec v210 -i C:\Users\gersti\Desktop\16x9_10bit_720x576_25fps.raw How was this file produced? And even more important: Which application reads such files? Carl Eugen This file was produced by VidChecker. It checks a (e.g.) APPLE PRO RES 10bit files, and corrects it if necessary, and puts the corrected RAW file out. I think there is a mainconcept encoder for thsi raw stream implemented in this software. No software will read this raw stream without giving it the right input params. But the point is not to read THIS raw stream, I mean it generally to read A raw stream from any source which carriers v210 packet format. I just needed a represantation raw file to show you my problem. I need the grab a raw v210 stream from a video capture card to encode it directly to ffvhuff. That is my usecase. br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
Christoph Gerstbauer christophgerstbauer at gmail.com writes: I am very confused about handling v210. From FFmpeg pov, v210 is a codec just like Prores or H.264 (with constant frame size, so actually sunrast or targa). ffmpegnew -r 25 -s 720x576 -pix_fmt yuv422p10le -vcodec v210 -i C:\Users\gersti\Desktop\16x9_10bit_720x576_25fps.raw How was this file produced? You have to know the size of one frame (1234), then please try: $ cat 16x9.raw|ffmpeg -f image2pipe -frame_size 1234 -vcodec v210 -s pal -i - out.avi What defnies the SIZE of 1234? Bytes/Bits? Am am not able to do cat on my windows machine. I have no linux. The RAW sample file can be downloaded here: No. Sorry I forgot the link: https://cerebrum.noa-audio.com/noacloud/index.php/apps/files/download/FFmpeg_User_MailingList/16x9_10bit_720x576_25fps_V210RAW.zip Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
The RAW sample file can be downloaded here: No. Sorry I forgot the link: https://cerebrum.noa-audio.com/noacloud/index.php/apps/files/download/FFmpeg_User_MailingList/16x9_10bit_720x576_25fps_V210RAW.zip this link should work better: https://cerebrum.noa-audio.com/noacloud/public.php?service=filest=3f9b02946f9f8cd4c60c3b71e8295892 ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
Am 21.05.2015 um 11:13 schrieb Carl Eugen Hoyos: Christoph Gerstbauer christophgerstbauer at gmail.com writes: This file was produced by VidChecker. It checks a (e.g.) APPLE PRO RES 10bit files, and corrects it if necessary I am curious: What does it check and correct? What feature is missing from FFmpeg? Carl Eugen You asked me how the RAW file was produced. It was produced by VidChecker. I doesnt mather in this issue what Vidchecker corrects (audio/videolevels). It is just important to know that VidChecker is producing a RAW V210 stream file. And this RAW stream file I want to handle for decoding. Because I think: if I can handle a raw v210 stream, I can also handle a raw v210 stream from a capture card. The RAW v210 stream file is for pretesting for me, because I am no programme who can work with API or SDKs. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
You have to know the size of one frame (1234), then please try: $ cat 16x9.raw|ffmpeg -f image2pipe -frame_size 1234 -vcodec v210 -s pal -i - out.avi What defnies the SIZE of 1234? Bytes/Bits? Size of 16x9.raw / number of frames? I tried this syntax, and it seems that it worked: C:\Users\vnoa-autoffmpegnew -f image2pipe -vcodec v210 -s 720x576 -frame_size 1105920 -i C:\Users\vnoa-auto\Desktop\16x9_10bit_720x576_25fps.raw -vco dec ffvhuff C:\Users\vnoa-auto\Desktop\16x9_10bit_720x576_25fps.avi ffmpeg version N-72259-g0b9d636 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-gnu tls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enab le-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 --ena ble-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --e nable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 23.101 / 54. 23.101 libavcodec 56. 39.101 / 56. 39.101 libavformat56. 33.101 / 56. 33.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 Input #0, image2pipe, from 'C:\Users\vnoa-auto\Desktop\16x9_10bit_720x576_25fps.raw': Duration: N/A, bitrate: N/A Stream #0:0: Video: v210, yuv422p10le, 720x576, 25 fps, 25 tbr, 25 tbn, 25 tbc File 'C:\Users\vnoa-auto\Desktop\16x9_10bit_720x576_25fps.avi' already exists. Overwrite ? [y/N] y Output #0, avi, to 'C:\Users\vnoa-auto\Desktop\16x9_10bit_720x576_25fps.avi': Metadata: ISFT: Lavf56.33.101 Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p10le, 720x576, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc56.39.101 ffvhuff Stream mapping: Stream #0:0 - #0:0 (v210 (native) - ffvhuff (native)) Press [q] to stop, [?] for help frame= 250 fps=0.0 q=0.0 Lsize= 207188kB time=00:00:10.00 bitrate=169728.8kbits/s video:207177kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.005584% So if as I understand: for a specific resolution the framesize is always the same in v210 raw? In this case the framesize is 1105920. So, when I know the framerate and the resolution of the v210 raw stream, I will know the framesize. right? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
Did I already ask why you are using ffvhuff? Isnt't this an ancient codec without specification or similar? And not even tested by the archiver community? No, you didnt ;) I/we use this ffvhuff codec as internal working format (SD/HD/2K/4K sources). The final archive format is generated from ffvhuff, and is FFV1. We use ffvhuff because its faster, in future maybe we can use ffv1 instead. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] V210 is a packet format but ffmpeg shows always yuv422p10le (planar?) - or how to read a V210.raw stream with ffmpeg?
Very, very generally: No, this is the reason why a decoder is needed: Some applications produce an incorrect framesize for a given resolution. But in the case of a given application, the framesize has to be constant for a given resolution: If it is not, the file cannot be read. (And the framesize is of course defined by the specification for a given resolution but as said, some encoders use an incorrect stride.) You can definitely use this syntax to read the raw files from your capture card, but is should be way easier to use -f dshow instead. Yes, I could do this if our card would be supported (Decklink), but we dont use Decklink cards. :/ We use DVS Cards. ffmpeg supported devices for dshow: [dshow @ 003c6820] DirectShow video devices (some may be both video and audio devices) [dshow @ 003c6820] Logitech HD Webcam C525 [dshow @ 003c6820] Alternative name @device_pnp_\\?\usb#vid_046dpid_0826mi_02#71469f92a30002#{65e8773d-8f56-11d0-a3b [dshow @ 003c6820] Decklink Video Capture [dshow @ 003c6820] Alternative name @device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{44A8B5C7-13B6-4211-BD40-35B629D9E6 [dshow @ 003c6820] DirectShow audio devices [dshow @ 003c6820] Microphone (HD Webcam C525) [dshow @ 003c6820] Alternative name @device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Microphone (HD Webcam C525) [dshow @ 003c6820] Decklink Audio Capture [dshow @ 003c6820] Alternative name @device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{AAA22F7E-5AA0-49D9-8C8D-B52B1AA92E [dshow @ 003c6820] Headset Microphone (4- Logitech [dshow @ 003c6820] Alternative name @device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Headset Microphone (4- Logitech [dshow @ 003c6820] Realtek Digital Input (Realtek [dshow @ 003c6820] Alternative name @device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\Realtek Digital Input (Realtek Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] In and out-range Scale option able to correct 0-255 video to 0-235?
Carl Eugen Hoyos cehoyos at ag.or.at writes: Please test with the following inlined patch and -cpuflags 0: Please ignore, this test makes no sense. Sorry, Carl Eugen Ok. But if I should test it I need the ability to compile, right? I have no experiences with that :/ br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] In and out-range Scale option able to correct 0-255 video to 0-235?
Am 19.05.15 um 23:06 schrieb Carl Eugen Hoyos: Christoph Gerstbauer christoph.gerstbauer at gmail.com writes: C:\Windows\System32ffmpeg -i C:\Users\Administrator\Desktop\big_buck_bunny_ffvhuff.avi -vf scale=in_range=full:out_range=tv -vcodec ffvhuff It seems to me that the scale filter is so smart that it doesn't scale if the input and output resolution and input and output colourspace are identical. Even worse, both the filter and the software scaler are smart enough to skip actual scaling, so fixing the issue in the scale filter is not sufficient... I am not 100% sure if this is a bug, but it seems so;-) (Please try to understand that I had no idea what you are talking about until seeing your - imo sensible - command line.) I hope you mean to correct 0-255 to 16-235. YES. thats what I want to do: correction to 16-235 levels. I am checking different files with QCtools. It shows me optical if the values are above 235 or under 16. A numerical way would be much better, of course. But that is another issue. Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] In and out-range Scale option able to correct 0-255 video to 0-235?
] compat: called with args=[yuv420p|yuv422p|yuv444p|yuv411p|yuv410p|yuv440p|gbrp|gbrp9le|gbrp10le|gbrp12le|gbrp14le|gray|gra y16le|yuva420p|yuva422p|yuva444p|gbrap|ya8|yuv420p9le|yuv420p10le|yuv420p12le|yuv420p14le|yuv420p16le|yuv422p9le|yuv422p10le|yuv422p12le|yuv422p14le|y uv422p16le|yuv444p9le|yuv444p10le|yuv444p12le|yuv444p14le|yuv444p16le|yuva420p9le|yuva420p10le|yuva420p16le|yuva422p9le|yuva422p10le|yuva422p16le|yuva 444p9le|yuva444p10le|yuva444p16le|rgb24|bgra] [format @ 04b95a40] Setting 'pix_fmts' to value 'yuv420p|yuv422p|yuv444p|yuv411p|yuv410p|yuv440p|gbrp|gbrp9le|gbrp10le|gbrp12le|gbrp14le|gray| gray16le|yuva420p|yuva422p|yuva444p|gbrap|ya8|yuv420p9le|yuv420p10le|yuv420p12le|yuv420p14le|yuv420p16le|yuv422p9le|yuv422p10le|yuv422p12le|yuv422p14l e|yuv422p16le|yuv444p9le|yuv444p10le|yuv444p12le|yuv444p14le|yuv444p16le|yuva420p9le|yuva420p10le|yuva420p16le|yuva422p9le|yuva422p10le|yuva422p16le|y uva444p9le|yuva444p10le|yuva444p16le|rgb24|bgra' [AVFilterGraph @ 0035ef00] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed [Parsed_scale_0 @ 02eafbc0] w:854 h:480 fmt:yuv420p sar:1/1 - w:854 h:480 fmt:yuv420p sar:1/1 flags:0x4 Output #0, avi, to 'C:\Users\Administrator\Desktop\big_buck_bunny_ffvhuff_CORRfulltotv.avi': Metadata: ISFT: Lavf56.33.101 Stream #0:0, 0, 1/24: Video: ffvhuff, 1 reference frame (FFVH / 0x48564646), yuv420p, 854x480 [SAR 1:1 DAR 427:240], 1/24, q=2-31, 200 kb/s, 24 fp s, 24 tbn, 24 tbc Metadata: encoder : Lavc56.39.101 ffvhuff Stream mapping: Stream #0:0 - #0:0 (ffvhuff (native) - ffvhuff (native)) Press [q] to stop, [?] for help Cliping frame in rate conversion by 0.08 [output stream 0:0 @ 04b95140] EOF on sink link output stream 0:0:default. No more output streams to write to, finishing. frame= 1440 fps=367 q=0.0 Lsize= 406110kB time=00:01:00.00 bitrate=55447.5kbits/s video:406070kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.009723% Input file #0 (C:\Users\Administrator\Desktop\big_buck_bunny_ffvhuff.avi): Input stream #0:0 (video): 1440 packets read (415815916 bytes); 1440 frames decoded; Total: 1440 packets (415815916 bytes) demuxed Output file #0 (C:\Users\Administrator\Desktop\big_buck_bunny_ffvhuff_CORRfulltotv.avi): Output stream #0:0 (video): 1440 frames encoded; 1440 packets muxed (415815916 bytes); Total: 1440 packets (415815916 bytes) muxed 1444 frames successfully decoded, 0 decoding errors [AVIOContext @ 02f0fe20] Statistics: 10 seeks, 13399 writeouts [AVIOContext @ 02ea6c80] Statistics: 415962108 bytes read, 4 seeks Best Regards Christoph 2015-05-17 13:01 GMT+02:00 Carl Eugen Hoyos ceho...@ag.or.at: Christoph Gerstbauer christophgerstbauer at gmail.com writes: is this ffmpeg scale option a possible method to crop input vidoe with 0-255 values to an output encoding of 16-235 values? As with all questions on this mailing list, please provide the command line that does not correctly crop the values together with the complete, uncut console output. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Numerical histogram output for checking typical broadcast ranges (16-235)
I am very new in using the histogram filter. (http://ffmpeg.org/ffmpeg-filters.html#histogram) Is it possible to dump the video level values from which the histogram graph is drawn into numeric values (textfile dump) to check if a video has levels inside the broadcast ranges (16-235/94-940)? Sorry if I misunderstand (and my knowledge about the question is definitely limited) but do you realise that valid (specification-compliant) broadcast-range video may contain values 16 and 235? Carl Eugen Hello Carl, no, I don´t. Can you explain this to me? I always thought that SD broadcast levels has to be 16 and 235. Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] In and out-range Scale option able to correct 0-255 video to 0-235?
Hello, is this ffmpeg scale option a possible method to crop input vidoe with 0-255 values to an output encoding of 16-235 values? I am not shure about, if it does that correction or if it only writes a metadata flag tv/full into the final output file. https://www.ffmpeg.org/ffmpeg-filters.html#scale-1 ‘in_range’ ‘out_range’ Best Regards CHristoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Possible to generate TimeCode stream for MXF-Op1a?
Hello, ffmpeg is able to generate a start timecode for MXF or MOV files by using -timecode XX:XX:xxSEPxx When making a MOV file ffmpeg generates a starttimecode value in the header and a seperate timecode stream. But not so for MXF. But what can I do if I need a second timecode for MXF in a complete timecode stream like at MOV generating. stream 0:0 = video stream 0:1 = audio stream 0:2 = timecode example from MOV file: Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf56.25.101 Duration: 00:00:50.00, start: 0.00, bitrate: 53074 kb/s Stream #0:0(eng): Video: mpeg2video (4:2:2) (m2v1 / 0x3176326D), yuv422p(tv), 720x608 [SAR 152:135 DAR 4:3], 5 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name: DataHandler encoder : Lavc56.26.100 mpeg2video timecode: 11:23:00:11 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 4.0, s16, 3072 kb/s (default) Metadata: handler_name: DataHandler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: handler_name: DataHandler timecode: 11:23:00:11 -- So the basic question is: Is ffmpeg able to GENERATE a whole timecode stream for MXF files? If yes, how can I do that? If no, is this feature planed for future releases? Additional question: Would it be possible to set 2 different timecodes like in following example? Starttimecode in header: 10:00:00:00 Starttimecode in stream: 00:00:00:00 Best Regards Christoph Gerstbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
Am 05.05.2015 um 09:06 schrieb tim nicholson: On 02/05/15 14:38, Christoph Gerstbauer wrote: Am 01.05.15 um 11:21 schrieb tim nicholson: [..] Christoph do you actually require the mxf metadata setting (as it really ought to be, and what I thought you were after) or are you content with it in the essence, in which case, in the absence of a target preset, you will have to set the flags yourself. As Marton Balint showed me the syntax, the setting of these 4 values worked, but they dont affect the metadata in the MXF container. The metadata flags: Color Siting and Signal Standard werent changed by using the syntax. Before this test I though I could change these 2 params with the syntax descriped above. But now I know that this is not working. Furthermore I looked for a way to PASS the test with the IRT Analyzer. Regarding to the ticket: How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding Yes I am still looking for a encoding option fot the mxf encoding of ffmpeg to set MANUALLY (of course) the flags for Signal Standard and Color Siting. FFmpeg should never set it autmatically to any values, if the source would have empty flags. So if I know from which source the content is comming, I want to be able to set the 2 mxf metadata flags, and also the 4 addional falg for the essence (color_range, color_space, color_transfer and color_primaries). Setting the values to a specified values seems straightforward enough, now I have found the relevant UL's. The tricky bit is to decide what to do if the values aren't manually specified. According to the specs there is no default value, so we would have to invent one. Hm, so what is happening at the current ffmpeg encoding? If nothing is defined what is going into the 2 mxf metadata flags? At this time the following is readed out from mxf2raw: Signal Standard = 0 (NONE) Color Sitting = 255 (UNKNOWN) So is ffmpeg writing this 0 into the mxf or is MXF2RAW showing me the some standard value when it cannot regognize any value in this flags? This could be by inspecting the codec metadata to see if the corresponding stream flags are set. This looks like it would be tricksy, or using some predetermined value based upon some other parameters such as frame size, which could lead to disagreement as to what was appropriate. Making the writing of the metadata optional also adds complication in the muxer, so it needs some careful thought. As an interim solution for pristine mxf files, have you tired remuxing with bmxlib? Never tried this way :) I just used mxf2raw to check the files. But I will try this way too. Thank you for the hint. Best Regards Christoph My motivation to this whole issue is: I want to generate a IMX50 file from an ffv or ffvhuff file were the IMX50 target file has less transcoding loss as possible. Most transcoders I use make an internal convertion from YUV422 to YUV422 formats (e.g uncompress 4:2:2 to uncompressed 4:2:2) with an ADDIONAL loss. I guess it is an internal RGB convertion: YUV422 source to RGB (internal) to YUV422 target format. (anyway, these transcoders are black boxes and I cannot know if this is the cause) So when I transcode with these transcoders I have 2 LOSSY steps: 1.) Avoidable LOSS of source is YUV422: addional chroma subsampling (RGB-YUV422) 2.) MPEG2 encoding loss FFmpeg does not do that: It keeps the yuv422 native format and just encode it to mpeg2. - And that would lead to better quality IMX files. Therefore I want to switch from professional transcoders to ffmpeg for generation IMX50. But I will still ned this metadata flag to do it perfectly. Best Regards Christoph Gerstbauer Regards, Marton [..] ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
Am 01.05.15 um 11:21 schrieb tim nicholson: On 30/04/15 22:03, Marton Balint wrote: On Wed, 29 Apr 2015, Christoph Gerstbauer wrote: I found out that a IMX50 mxf file encoded with FFmbc and the IMX50 mxf file encoded with actual ffmpeg builds are different in these mxf metadata flags (by reading out via ffprobe - show_streams) Are you sure you mean specifically mxf metadata flags? See my comments below. Hello Tim, I wrongly mixed different issues. The metadata flags color_range=tv, color_space=smpte170m, color_transfer=bt709 and color_primaries=bt470bg are NOT mxf metadata flags. For MXF there exist seperate color range and signal standard metadata flags. (whhich can be read out bei mxf2raw (BBC) for example. FFMBC IMX FILE stream 0:0: color_range=tv color_space=smpte170m color_transfer=bt709 color_primaries=bt470bg FFMPEG IMX FILE stream 0:0: color_range=tv color_space=unknown color_transfer=unknown color_primaries=unknown I want to set these metadata flags to the same values, but with FFmpeg. How can I produce the same output like ffmbc with these 4 metadata flags? I didnt found a answer to that in the ffmpeg documentation :/ You can manually specify these settings to force them being set with these parameters: -color_primaries 5 -color_trc 1 -colorspace 6 What does not work as far as I know in ffmpeg is to actually get these settings from the source video, even if ffprobe detects them. And what does not work as far as I know in ffmpeg is these values actually being written by the mxf muxer. At least I cannot find the relevant UL's listed in the Generic Picture Essence Descriptor section of mxfenc.c which is where I would expect to see them. Or any where else for that matter. Nor are they in ffmbc for that matter, so I suspect ffprobe is picking them up from the essence rather than the specific mxf UL's. (ffmbc sets the parameters Marton lists as part of the IMX target, which ffmpeg does not have) Given that MXF encoders should encode Transfer Characteristic whenever possible smpte S377-1, this is clearly an omission and I am surprised the IRT analyser doesn't spot it. Christoph do you actually require the mxf metadata setting (as it really ought to be, and what I thought you were after) or are you content with it in the essence, in which case, in the absence of a target preset, you will have to set the flags yourself. As Marton Balint showed me the syntax, the setting of these 4 values worked, but they dont affect the metadata in the MXF container. The metadata flags: Color Siting and Signal Standard werent changed by using the syntax. Before this test I though I could change these 2 params with the syntax descriped above. But now I know that this is not working. Furthermore I looked for a way to PASS the test with the IRT Analyzer. Regarding to the ticket: How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding Yes I am still looking for a encoding option fot the mxf encoding of ffmpeg to set MANUALLY (of course) the flags for Signal Standard and Color Siting. FFmpeg should never set it autmatically to any values, if the source would have empty flags. So if I know from which source the content is comming, I want to be able to set the 2 mxf metadata flags, and also the 4 addional falg for the essence (color_range, color_space, color_transfer and color_primaries). My motivation to this whole issue is: I want to generate a IMX50 file from an ffv or ffvhuff file were the IMX50 target file has less transcoding loss as possible. Most transcoders I use make an internal convertion from YUV422 to YUV422 formats (e.g uncompress 4:2:2 to uncompressed 4:2:2) with an ADDIONAL loss. I guess it is an internal RGB convertion: YUV422 source to RGB (internal) to YUV422 target format. (anyway, these transcoders are black boxes and I cannot know if this is the cause) So when I transcode with these transcoders I have 2 LOSSY steps: 1.) Avoidable LOSS of source is YUV422: addional chroma subsampling (RGB-YUV422) 2.) MPEG2 encoding loss FFmpeg does not do that: It keeps the yuv422 native format and just encode it to mpeg2. - And that would lead to better quality IMX files. Therefore I want to switch from professional transcoders to ffmpeg for generation IMX50. But I will still ned this metadata flag to do it perfectly. Best Regards Christoph Gerstbauer Regards, Marton [..] ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
You can manually specify these settings to force them being set with these parameters: -color_primaries 5 -color_trc 1 -colorspace 6 What does not work as far as I know in ffmpeg is to actually get these settings from the source video, even if ffprobe detects them. Regards, Marton Thank you Marton! It works :) Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to generate IRT conform D10 MXFs (IMX50) with FFmpeg?
Hello Tim, I thought it would be better to split up my questions to 2 different tickets, just to prevent mixing up different issues. If you are able to delete the first mail, please do it. Best Regards Christoph Gerstbauer Am 30.04.2015 um 09:16 schrieb tim nicholson: On 30/04/15 07:20, Christoph Gerstbauer wrote: Hello I am making tests with IMX50/MXF encodings with FFMBC and FFMPEG. (with 24bit audio and 16bit audio) [...] Reeatedly asking the same question in a new thread, without waiting a resonable time for a reply, is begining to get tedious and will not endear you to those who might otherwise respond in a useful manner. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
I found out that a IMX50 mxf file encoded with FFmbc and the IMX50 mxf file encoded with actual ffmpeg builds are different in these mxf metadata flags (by reading out via ffprobe - show_streams) FFMBC IMX FILE stream 0:0: color_range=tv color_space=smpte170m color_transfer=bt709 color_primaries=bt470bg FFMPEG IMX FILE stream 0:0: color_range=tv color_space=unknown color_transfer=unknown color_primaries=unknown I want to set these metadata flags to the same values, but with FFmpeg. How can I produce the same output like ffmbc with these 4 metadata flags? I didnt found a answer to that in the ffmpeg documentation :/ Best Regards CHristoph COMMAND LINE OUTPUT: FFmbc encoding: ffmbc -i I:\IMX_tests\IMX50_CARBON.avi -target imx50 -acodec pcm_s24le I:\IMX_tests\_FFMBC_PAL_IMX_24bit_2.mxf -loglevel debug FFmbc version 0.7-rc7 Copyright (c) 2008-2012 Baptiste Coudurier and the FFmpeg developers Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi': Metadata: encoder: Lavf55.0.100 ISMP: 00:00:00:00 Duration: 00:00:20.00, start: 0.00, bitrate: 113291 kb/s Stream #0.0(und): Video: ffvhuff, yuv422p, 720x608p, PAR 152:135 DAR 4:3, 25.00 fps Stream #0.1(und): Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s [buffer @ 002EFF60] w:720 h:608 pixfmt:yuv422p tb:1/100 sar:152/135 sws_param: Warning, QMAT_SHIFT is larger than 21, overflows possible Last message repeated 1 times Output #0, mxf_d10, to 'I:\IMX_tests\_FFMBC_PAL_IMX_24bit_2.mxf': Metadata: encoder: FFmbc 0.7 Stream #0.0(und), 0, 1/25: Video: mpeg2video, yuv422p, 720x608i tff [PAR 152:135 DAR 4:3], tbc 1/25, cbr, 5 kb/s, 25.00 fps Stream #0.1(und), 0, 1/48000: Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s Stream mapping: Stream #0.0 - #0.0 Stream #0.1 - #0.1 Press [q] to stop, [?] for help [mxf_d10 @ 003BF460] package type:1 [mxf_d10 @ 003BF460] package type:2 [mxf_d10 @ 003BF460] edit units count 0 frame= 341 fps= 25 q=3.0 size= 103570kB time=00:00:13.60 bitrate=62385.4kbits/s eta=00:00:06.41 - FFMPEG encoding: ffmpegnew -i I:\IMX_tests\IMX50_CARBON.avi -map 0:v -map 0:a -c:v mpeg2video -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 5k -maxrate 5k -b:v 5k -intra -flags +ildct+low_del ay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 200 -rc_init_occupancy 200 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s24le -ar 48000 -f mxf_d10 I:\IMX_tests \_FFMPEGNEW_PAL_IMX_24bit_2.mxf ffmpeg version N-71727-g46778ab 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-libblu ray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --ena ble-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena ble-decklink --enable-zlib libavutil 54. 23.101 / 54. 23.101 libavcodec 56. 35.101 / 56. 35.101 libavformat56. 31.100 / 56. 31.100 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 14.100 / 5. 14.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi': Metadata: encoder : Lavf55.0.100 timecode: 00:00:00:00 Duration: 00:00:20.00, start: 0.00, bitrate: 113291 kb/s Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p, 720x608, 96 kb/s, SAR 152:135 DAR 4:3, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s File 'I:\IMX_tests\_FFMPEGNEW_PAL_IMX_24bit_2.mxf' already exists. Overwrite ? [y/N] y Output #0, mxf_d10, to 'I:\IMX_tests\_FFMPEGNEW_PAL_IMX_24bit_2.mxf': Metadata: timecode: 00:00:00:00 encoder : Lavf56.31.100 Stream #0:0: Video: mpeg2video, yuv422p, 720x608 [SAR 152:135 DAR 4:3], q=1-3, 5 kb/s, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc56.35.101 mpeg2video Stream #0:1: Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Metadata: encoder : Lavc56.35.101 pcm_s24le Stream mapping: Stream #0:0 - #0:0 (ffvhuff (native) - mpeg2video (native)) Stream #0:1 - #0:1 (pcm_s24le (native) -
[FFmpeg-user] How to generate IRT conform D10 IMX50 MXFs (and how to set the output color_range, -space, -transfer and primaries flags)
Hello I am making tests with IMX50/MXF encodings with FFMBC and FFMPEG. (with 24bit audio) The tests compare the final files with the IRT MXF Analyzer Pro tool to be shure to be IRT conform. (My used syntax is at the bottom of this mail) Both files (generated with ffmbc and ffmpeg) are working very well in editing tools but there is a little difference: The IMX50 generated by ffmbc has no errors/warnings at IRT MXF Analyzer (with16bit audio). It is really perfect. In fact I never had a clean green MXF by testing other probes from other encoding tools. Only the IRT probes itself are clean. So this MXF is IRT conform when using the ffmbc standard target preset imx50. The Analyzis of the IMX50/MXF generated by FFMPEG (latest build from zeganoe) has 1 warning and 1 error: WARNING: Fill Item Key with a wrong RP210 (SMPTE Metadata Dictionary) version number of 0x01. The correct version number is 0x02 ERROR: The Sound Essence Descriptor signals that the number if quantization bits is 24, which is higher than actually required (16) as detemined by parsing the essence. Due to the fact that I am producing 24bit audio I could prevent the WARNING by producing 16bit audio. But is there a problem in the MXF when producing 24bit? Sound works in editing tools. Furthermore ffmbc produces for standard a IMX with 16bit - If I force ffmbc to do 24bit, I get the same error. Due to the warning: I found out that both files are different regarding these values (by reading out via ffprobe - show_streams) FFMBC IMX FILE stream 0:0: color_range=tv color_space=smpte170m color_transfer=bt709 color_primaries=bt470bg FFMPEG IMX FILE stream 0:0: color_range=tv color_space=unknown color_transfer=unknown color_primaries=unknown So my questions are : 1.) How can I produce (with ffmpeg) the same output like ffmbc with these 4 metadata flags: color_range=tv color_space=smpte170m color_transfer=bt709 color_primaries=bt470bg I didnt found a answer to that in the ffmpeg documentation :/ 2.) Maybe somebody knows: Do these 4 metadata flags have a connection to the Warning message of the MXF Analyzer? - Fill Item Key with a wrong RP210 (SMPTE Metadata Dictionary) version number of 0x01. The correct version number is 0x02 If nobody know this answer I could do the test for myself by be able to encode with the upper params in 1.). 3.) Is there an syntax option in ffmpeg for 24bit audio encoding to prevent this ERROR: The Sound Essence Descriptor signals that the number if quantization bits is 24, which is higher than actually required (16) as detemined by parsing the essence. Best Regards Christoph USED SYNTAX: - FFmbc (16bit audio): ffmbc -i I:\IMX_tests\IMX50_CARBON.avi -target imx50 I:\IMX_tests\_FFMBC_PAL_IMX_16bit_2.mxf -loglevel debug FFmbc version 0.7-rc7 Copyright (c) 2008-2012 Baptiste Coudurier and the FFmpeg developers Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi': Metadata: encoder: Lavf55.0.100 ISMP: 00:00:00:00 Duration: 00:00:20.00, start: 0.00, bitrate: 113291 kb/s Stream #0.0(und): Video: ffvhuff, yuv422p, 720x608p, PAR 152:135 DAR 4:3, 25.00 fps Stream #0.1(und): Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s File 'I:\IMX_tests\_FFMBC_PAL_IMX_16bit_2.mxf' already exists. Overwrite ? [y/N] y [buffer @ 018E07E0] w:720 h:608 pixfmt:yuv422p tb:1/100 sar:152/135 sws_param: Incompatible sample format 's32' for codec 'pcm_s16le', auto-selecting format 's16' Warning, QMAT_SHIFT is larger than 21, overflows possible Last message repeated 1 times Output #0, mxf_d10, to 'I:\IMX_tests\_FFMBC_PAL_IMX_16bit_2.mxf': Metadata: encoder: FFmbc 0.7 Stream #0.0(und), 0, 1/25: Video: mpeg2video, yuv422p, 720x608i tff [PAR 152:135 DAR 4:3], tbc 1/25, cbr, 5 kb/s, 25.00 fps Stream #0.1(und), 0, 1/48000: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Stream mapping: Stream #0.0 - #0.0 Stream #0.1 - #0.1 Press [q] to stop, [?] for help [mxf_d10 @ 0037C9C0] package type:1 [mxf_d10 @ 0037C9C0] package type:2 [mxf_d10 @ 0037C9C0] edit units count 0 frame= 239 fps= 25 q=3.0 size= 72409kB time=00:00:09.52 bitrate=62307.8kbits/s eta=00:00:10.51 - FFmbc (24bit audio): ffmbc -i I:\IMX_tests\IMX50_CARBON.avi -target imx50 -acodec pcm_s24le I:\IMX_tests\_FFMBC_PAL_IMX_24bit_2.mxf -loglevel debug FFmbc version 0.7-rc7 Copyright (c) 2008-2012 Baptiste Coudurier and the FFmpeg developers Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi': Metadata: encoder: Lavf55.0.100 ISMP: 00:00:00:00 Duration: 00:00:20.00, start: 0.00, bitrate: 113291 kb/s Stream #0.0(und): Video: ffvhuff, yuv422p, 720x608p, PAR 152:135 DAR 4:3, 25.00 fps Stream #0.1(und): Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s [buffer @ 002EFF60] w:720 h:608 pixfmt:yuv422p
Re: [FFmpeg-user] How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding?
Hello Tim, do you think that these flags can also be implemented into the IMX encoding of ffmpeg? + SIGNAL STANDARD = 1 (ITU 601) + Color siting = 4 (Rec 601) Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding?
Therfore I think the only sane approach would be to have them as user settable flags which would take more careful thinking about... Yes, sorry, I didnt said it detailed: Yes a flag which can be enabled by the user would be the best solution for that. Do you think these 2 flags could be implemented in ffmpeg IMX encoding? Best Regards Christoph Gerstbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Is it possible to speed up merging-speed from HD to LAN?
Maybe he doesn't know that releases are not meant for end-users and have many disadvantages? Ok, I am now very confused about that. If the releases are not for end users? What (or which version) is mentioned to be used by end users? I tried the same tests now with this last version from there: http://ffmpeg.zeranoe.com/builds/win64/static/ ffmpeg version N-71209-gd759844 Copyright (c) 2000-2015 the FFmpeg developers, built with gcc 4.9.2 (GCC) Command Line output: C:\Users\Administratorffmpeg -i C:\278242_405568.avi -i C:\278242_405568.wav -vcodec copy -acodec copy -map 0:0 -map 1:0 \\filemeister\cosmospublicpa thvienna\test.avi ffmpeg version N-71209-gd759844 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-gnu tls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enab le-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 --ena ble-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --e nable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 22.100 / 54. 22.100 libavcodec 56. 32.100 / 56. 32.100 libavformat56. 27.100 / 56. 27.100 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 13.101 / 5. 13.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 Input #0, avi, from 'C:\278242_405568.avi': Metadata: encoder : Lavf55.19.104 Duration: 00:21:10.64, start: 0.00, bitrate: 105377 kb/s Stream #0:0: Video: huffyuv (HFYU / 0x55594648), yuv422p, 720x608, 105376 kb/s, SAR 93:85 DAR 837:646, 25 fps, 25 tbr, 25 tbn, 25 tbc Guessed Channel Layout for Input Stream #1.0 : 4.0 Input #1, wav, from 'C:\278242_405568.wav': Duration: 00:21:10.64, bitrate: 6144 kb/s Stream #1:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 48000 Hz, 4 channels, flt, 6144 kb/s File '\\filemeister\cosmospublicpathvienna\test.avi' already exists. Overwrite ? [y/N] y Output #0, avi, to '\\filemeister\cosmospublicpathvienna\test.avi': Metadata: ISFT: Lavf56.27.100 Stream #0:0: Video: huffyuv (HFYU / 0x55594648), yuv422p, 720x608 [SAR 93:85 DAR 837:646], q=2-31, 105376 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 48000 Hz, 4.0, 6144 kb/s Stream mapping: Stream #0:0 - #0:0 (copy) Stream #1:0 - #0:1 (copy) Press [q] to stop, [?] for help frame=11742 fps= 65 q=-1.0 size= 6373520kB time=00:07:49.68 bitrate=64.8kbits/s Best Regards Christoph Gerstbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Is it possible to speed up merging-speed from HD to LAN?
ffmpeg -i inputfile.avi -i inputfile.wav -acodec copy -vcodec copy -map 0:0 -map 1:0 \\lanshare\folder\targetfile.avi (Complete, uncut console output missing. Is this the first time you read this line?) FFmpeg has to seek in the output file. Carl Eugen Hello Carl, of course no ;) I am sorry. But I did not thought that a complete console output would be important or necessary to my issue. Here it is: C:\ffmpegNOA\ffmpeg-2.6-win64\ffmpeg.exe -i D:\temp1\278242_405568.avi -i D:\temp1\278242_405568.wav -vcodec copy -acodec copy -ma 0:0 -map 1:0 -threads 8 \\FILEMEISTER\video\temp\test.avi ffmpeg version 2.6 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.8 (GCC) configuration: --disable-network --disable-w32threads --disable-static --enable-shared --disable-debug --enable-version3 --arch=x86 --target-os=min w32 --cross-prefix=x86_64-w64-mingw32- --prefix=/usr/local/win64 --enable-runtime-cpudetect --enable-memalign-hack libavutil 54. 20.100 / 54. 20.100 libavcodec 56. 26.100 / 56. 26.100 libavformat56. 25.101 / 56. 25.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 11.102 / 5. 11.102 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 Input #0, avi, from 'D:\temp1\278242_405568.avi': Metadata: encoder : Lavf55.19.104 Duration: 00:21:10.64, start: 0.00, bitrate: 105377 kb/s Stream #0:0: Video: huffyuv (HFYU / 0x55594648), yuv422p, 720x608, 105376 kb/s, SAR 93:85 DAR 837:646, 25 fps, 25 tbr, 25 tbn, 25 tbc Guessed Channel Layout for Input Stream #1.0 : 4.0 Input #1, wav, from 'D:\temp1\278242_405568.wav': Duration: 00:21:10.64, bitrate: 6144 kb/s Stream #1:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 48000 Hz, 4 channels, flt, 6144 kb/s File '\\FILEMEISTER\video\temp\test.avi' already exists. Overwrite ? [y/N] y Output #0, avi, to '\\FILEMEISTER\video\temp\test.avi': Metadata: ISFT: Lavf56.25.101 Stream #0:0: Video: huffyuv (HFYU / 0x55594648), yuv422p, 720x608 [SAR 93:85 DAR 837:646], q=2-31, 105376 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 48000 Hz, 4.0, 6144 kb/s Stream mapping: Stream #0:0 - #0:0 (copy) Stream #1:0 - #0:1 (copy) Press [q] to stop, [?] for help frame= 220 fps= 71 q=-1.0 size= 103138kB time=00:00:08.80 bitrate=96011.7kbits/s The fps merging rate is a 71 FPS as you can see. - 272Mbit/sec (HD to LAN) If I do the same from HD to HD the fps are approx 300fps - 1152Mbit/sec (HD to HD) At Filecopy approx. 850Mbit/sec (copy from HD to LAN) You said FFmpeg has to seek in the output file. So it is a permanent writing and reading? Best Regards Christoph Gerstbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Is it possible to speed up merging-speed from HD to LAN?
(I don't think FFmpeg reads from the output file if that was your question.) That WAS the question ;) I thought you meaned FFmpeg (reads the source file of course) and writes the target file and reads it (for filechecking or something) - And that would be the cause for the slow merging speed from HD to LAN. But you say that you dont think that it will do that, so my question is still the same: why is this so slow over lan? When I have a 1Gbit LAN, why ffmpeg just use 25 percent of the connection speed when I merge or transcode something into lan? I have no idea :( ffmpeg version 2.6 Copyright (c) 2000-2015 the FFmpeg developers I am curious: Why are you using a release? Maybe because you don't know that all releases of FFmpeg contain more bugs than current git head? Yes, I didnt knew that. You have to know that I am not a programmer or a compiler. I am just a user of ffmpeg and mostly I use zeranoe windows builds and sometimes, like in this current case, a own compiled version of a collegue who is able to compile. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding?
Hello Tim! thank you, it works for PAL and NTSC (720x512/720x480) but there is a just little bug for NTSC when encoding to 720x486 in stored dimension! My patch only deals with the addition of the display y offset metadata, it should not touch exisiting metadata, are you saying that the figures for 'Stored dimensions' are different with and without my patch? Hello Tim, you are right. I tried it with a non-patched ffmpeg version, and I got the same result: MXF File Information: Filename : I:\IMX_tests\IMX50_FFMPEG_NTSC_NEW.mxf MXF version: 1.2 OP label : OP-1A (internal essence, stream file, multi-track) Wrapping type : Frame Material package name : Material start timecode: 00:00:00:00 (@ 30fps) File src start timecode: 00:00:00:00 (@ 30fps) Edit rate : 3/1001 Precharge : 0 Duration : 599 Rollout: 0 Identifications: Identification 0: Generation UID: adab4424.2f254dc7.92ff29bd.000c0001 Company name : FFmpeg Product name : OP1a Muxer Product version : (not set) Version string: 56.25.101 Product UID : adab4424.2f254dc7.92ff29bd.000c0002 Modification date : 0-00-00 00:00:00.000 Toolkit version : (not set) Platform : (not set) Track 0: Essence kind : Picture Essence type : D10 50Mbps Essence label: 060e2b34.04010101.0d010301.02010201 Material package uid : 060a2b34.01010105.01010d00.13c0abba.52947134.3ec0abba.00529471.343ec000 Material track id: 2 Material track number: 0 File package uid : 060a2b34.01010105.01010d00.13c0abba.52947134.3ec0abba.00529471.343ec001 File track id: 2 File track number: 0x05010100 Edit rate: 3/1001 Duration : 599 Lead filler offset : 0 Picture coding label : 060e2b34.04010101.04010202.01020102 Signal standard : 0 (None) Frame layout : 1 (Separate Fields) Stored dimensions: 720x496 Display dimensions : 720x486 Display x offset : 0 Display y offset : 0 Aspect ratio : 4/3 AFD : (not set) Component depth : 8 Horiz subsampling: 2 Vert subsampling : 1 Color siting : 255 (Unknown) Used syntax: ffmpegnew -i inputfile.avi -map 0:v -map 0:a -c:v mpeg2video -r 29.97 -pix_fmt yuv422p -aspect 4:3 -minrate 5k -maxrate 5k -b:v 5k -intra -flags +ildct+low_del ay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 200 -rc_init_occupancy 200 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s24le -ar 48000 -f mxf_d10 -s 720x486 outputfile.mxf Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding?
Am 20.03.2015 um 16:21 schrieb tim nicholson: On 20/03/15 09:19, tim nicholson wrote: On 19/03/15 15:48, Christoph Gerstbauer wrote: Shame, don't understand the qmax issue. but if you look at:- tests/lavf_regression.sh line 90 you will see an IMX30 example which uses -qmax 12 and my other other parameters. However not sure what difference closed/open gop makes on I frame only, but being purist I can see how you might want to set closed gop! S356m makes no reference to it that I can see. Looks like we might need a patch for what you want. In fact, the most important metadata flag is the display y offset = 32 (high priority for patching, if possible) Having a quick scan through mxfenc.c it looks like that UL is missing, as are some others. I have tracked them down in RP210 but am struggling with the local_tag values at the moment. It should be relatively straightformward to add in the relevant tag though. Attached is a quick hack that worked for me. Do you want to give it a spin? Hello Tim, thank you! I have to wait for next week when I am in the office because I am not able to apply this patch (I have no expierience in doing that ;). A collegue of mine is able to compile. . I am just working with ffmpeg .exe files. Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Problems with opening some DPX files
Hello, I am testing the transcoding of different DPX files from different sources. I have here 2 files which cannot be opened by ffmpeg. https://dl.dropboxusercontent.com/u/26129407/ProblematicDPX_1.zip When I open the files with ImageMagick and GraphicsMagick they look distorted (can be seen in the png from the zip file). Opening the files with Photoshop they look also very weird but different to GM and IM. (see PNGs in zip) Any ideas whats going on here? Best Regards Christoph COMMAND LINE OUTPUT: C:\Users\gerstiffmpegnew -i I:\DPX\_DPX examples\Bojan\009.dpx ffmpeg version N-70803-g0f16dfd 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-libblu ray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw b --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 --enab le-zlib libavutil 54. 20.100 / 54. 20.100 libavcodec 56. 28.100 / 56. 28.100 libavformat56. 25.101 / 56. 25.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 12.100 / 5. 12.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 [dpx @ 02cf7c40] Packing 2 is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been impl emented. [dpx_pipe @ 02ce65e0] decoding for stream 0 failed [dpx_pipe @ 02ce65e0] Could not find codec parameters for stream 0 (Video: dpx, none, 2048x1520): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize' options I:\DPX\_DPX examples\Bojan\009.dpx: could not find codec parameters Input #0, dpx_pipe, from 'I:\DPX\_DPX examples\Bojan\009.dpx': Duration: N/A, bitrate: N/A Stream #0:0: Video: dpx, none, 2048x1520, 25 tbr, 25 tbn, 25 tbc At least one output file must be specified ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding?
Don't know if its relevant but your coding parameters are slightly different to the one's I use for D10, and I wonder if this affects the automatic metadata insertion.. -flags +ildct+ilme+low_delay Well ilme seems kind of redundant for I frame only coding but probably harmless. -tag:v mx5p irrelevant for mxf, but again probably harmless. I use the following which you do not:- -rc_max_vbv_use 1 -rc_min_vbv_use 1 and you use the following that I do not:- -qmax 3 -rc_buf_aggressivity 0.25 I don't know what difference, if any, those changes make, but the values I use create D10 files that BBC RD looked at and thought were OK. Perhaps worth a try? [..] Additionally: I tried it again with all your mentioned syntax changes but without changing the -qmin 1 -qmax 3 - now it works to encode. But the MXF metadata doesnt change (SIGNAL STANDARD = 1 (ITU 601) + display y offset +Color siting = 4 (Rec 601). The only difference I saw with mediainfo is that the new MXF (your syntax) has a CLOSED GOP structure and the old one (my syntax) had a OPEN structure. Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How to set 3 specific metadata flags (ITU601/displayoffset) in FFmpegs IMX50 MXF-OP1a encoding?
Hello I am testing with ffmpeg the IMX50 D10 encoding, and I am very close to my target but I have to create 3 metadata values in the MXF header which is standard in most IMX50 MXF ecndodings: + SIGNAL STANDARD = 1 (ITU 601) + display y offset = 32 - I am encoding 720x608 sources with included VBI area (32 lines high at the top) - the offset 32 defines the active picture - 720x576 + Color siting = 4 (Rec 601) Is it possible to encoded with ffmpeg in a way that these values can be written? If yes, which syntax should I add to my used syntax? If no, could the option be implemented in future? My used ffmpeg syntax is: ffmpeg -i inputfile -map 0:v -map 0:a -c:v mpeg2video -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 5k -maxrate 5k -b:v 5k -intra -flags +ildct+ilme+low_delay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 200 -rc_init_occupancy 200 -rc_buf_aggressivity 0.25 -tag:v mx5p -c:a pcm_s24le -ar 48000 -f mxf_d10 outpufile.mxf I check the MXF metadata with BMX mxf2raw.exe (BBC) I use 2 examples: 1.) a ffmpeg encoded MXF and 2.) a MXF from the Carbon Coder (Rhozet). The carbon Coder playout shows me the wanted values: C:\Users\gerstimxf2raw -i I:\IMX_tests\IMX50_CARBON.mxf MXF File Information: Filename : I:\IMX_tests\IMX50_CARBON.mxf MXF version: 1.2 OP label : OP-1A (internal essence, stream file, multi-track) Wrapping type : Frame Material package name : Material start timecode: 00:00:00:00 (@ 25fps) File src start timecode: 00:00:00:00 (@ 25fps) Edit rate : 25/1 Precharge : 0 Duration : 500 Rollout: 0 Identifications: Identification 0: Generation UID: 10e5dae5.54663246.8c411484.8c2015e4 Company name : Rhozet Product name : Carbon Product version : (not set) Version string: 1.1 Product UID : 842d0e07.eb104da4.b6d1c16b.bfdf797b Modification date : 2015-02-03 13:39:02.000 Toolkit version : (not set) Platform : (not set) Track 0: Essence kind : Picture Essence type : D10 50Mbps Essence label: 060e2b34.04010101.0d010301.02010101 Material package uid : 060a2b34.01010105.01010d20.1300.d403bb57.8f86e749.9a0e3118.abce6ab9 Material track id: 2 Material track number: 0 File package uid : 060a2b34.01010105.01010d20.1300.09464eb5.53deb944.9566c38d.b95db9fd File track id: 2 File track number: 0x05010100 Edit rate: 25/1 Duration : 500 Lead filler offset : 0 Picture coding label : 060e2b34.04010101.04010202.01020101 Signal standard : 1 (ITU 601) Frame layout : 1 (Separate Fields) Stored dimensions: 720x608 Display dimensions : 720x576 Display x offset : 0 Display y offset : 32 Aspect ratio : 4/3 AFD : (not set) Component depth : 8 Horiz subsampling: 2 Vert subsampling : 1 Color siting : 4 (Rec 601) The FFMPEG MXF looks like this (the 3 values are not set correctly): C:\Users\gerstimxf2raw -i I:\IMX_tests\IMX50_FFMPEG.mxf MXF File Information: Filename : I:\IMX_tests\IMX50_FFMPEG.mxf MXF version: 1.2 OP label : OP-1A (internal essence, stream file, multi-track) Wrapping type : Frame Material package name : Material start timecode: 10:00:00:00 (@ 25fps) File src start timecode: 10:00:00:00 (@ 25fps) Edit rate : 25/1 Precharge : 0 Duration : 750 Rollout: 0 Identifications: Identification 0: Generation UID: adab4424.2f254dc7.92ff29bd.000b0001 Company name : FFmpeg Product name : OP1a Muxer Product version : (not set) Version string: 55.48.101 Product UID : adab4424.2f254dc7.92ff29bd.000b0002 Modification date : 0-00-00 00:00:00.000 Toolkit version : (not set) Platform : (not set) Track 0: Essence kind : Picture Essence type : picture essence Essence label: 060e2b34.04010102.0d010301.02046001 Material package uid : 060a2b34.01010105.01010d00.1387b014.52947134.7187b014.00529471.34718700 Material track id: 2 Material track number: 0 File package uid : 060a2b34.01010105.01010d00.1387b014.52947134.7187b014.00529471.34718701 File track id: 2 File track number: 0x15010500 Edit rate: 25/1 Duration : 750 Lead filler offset : 0 Picture coding label : 060e2b34.04010103.04010202.01020200 Signal standard : 0 (None) Frame layout : 1 (Separate Fields) Stored dimensions: 720x608
Re: [FFmpeg-user] Questions about readout important metadata from DPX files (logarthmic/linear) and recreate DPX with same metadata
You can identify the source of the frame rate with a bit more clarity with mediainfo if run like mediainfo --inform=Details;1 file.dpx Dave Rice Hm , thats not working on my machine (win7/8): C:\Users\Administratormediainfo --inform=Details;1 E:\DPX\009.dpx General Complete name: E:\DPX\009.dpx Format : DPX Format version : Version 2 File size: 4.02 MiB Encoded date : 2015:02:23:15:40:35:CET Image Format : DPX Format version : Version 2 Width: 2 048 pixels Height : 1 520 pixels Display aspect ratio : 4:3 Bit depth: 10 bits Compression mode : Lossless Stream size : 4.02 MiB (100%) Encoded date : 2015:02:23:15:40:35:CET Color primaries : Printing density Transfer characteristics : Printing density I see no information about a framerate or the length of this specific DPX file (e.g. 40milliseconds) br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Questions about readout important metadata from DPX files (logarthmic/linear) and recreate DPX with same metadata
But let me try it differently: You have an input file with a logarithmic colour space that is not supported by FFmpeg. If you are sure that you know what you are doing, you can of course use FFmpeg to compress your raw data (I believe ffv1 was tested much better already but this is not really related). But while the data will still be identical the colourspace will be linear because FFmpeg only supports linear colourspaces. So you will will have to know that the actual content is logarithmic when you use it again (or write the transfer information when creating the file). yes that is what I am planing to do. Additional: I tested a LOG C ARRI ProRes444 file (logarithmic values) to convert it to a linear ffvhuff. For that I used a specific LUT file from ARRI and the 3dlut videofiler. That works good. ffmpegnew -i I:\ARRI SAMPLE FILES\J001C048_140110_R6MS.avi -vf format=pix_fmts=rgb48, lut3d=file=AlexaV3_K1S1_LogC2Video_Rec709_EE_davinci3d.cube -vcodec ffvhuff -pix_fmt yuv444p10le -acodec copy I:\ARRI SAMPLE FILES\J001C048_140110_R6MS_corrected.avi So, if I can readout the information that the input video file or input DPX file has logarithmic values I can a) keep the logarithmic encoding in the ffv1 archive file and save the metadata information in an external file/database or b) I decide to linearize it with LUT and 3dlut filter to have a linearized master in the archive beneath the original DPX file of course. But, the readout of the metadata has to be made with mediainfo at this time. It would be very useful if FFmpeg would get a more detailed metadata readout function for DPX files. At least for readout of the logaritmic/linear information and the FrameRate information - FFmpeg always thinks that the fps of my DPX files ar 25fps. There exist one DPX metadata reader/editor only for MAC OS. Which this tool I checked the FrameRate values in the DPX: most DPX had no value written, so ffmpeg GUESSES the fps I think. One DPX had the value 24fps, but FFmpeg also showed me 25fps. Anyhow: I am not shure if this metadata reader is THE reference application for DPX. :/ I just mentioned it that there are more informations in the DPX than ffprobe is able to show me. br Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Questions about readout important metadata from DPX files (logarthmic/linear) and recreate DPX with same metadata
We've encountered something similar when transcoding FFV1 over the network. So we used framemd5 not to verify FFV1's losslessness, but to validate that the transcoding goes error-free :) FFmpeg's framemd5 became *the* feature for professional video preservation. So, thanks again for all your great work here! Regards, Pb Indeed, ffmpeg framemd5 is my only possibility to check lossless transcodings. A BIG THANK YOU FOR THAT! Otherwise I could only test it to make it visually with e.g After effects overlay the transcoded video to the original and make a DIFFERENCE/DELTA video... (btw: some videotechnicians do that, because they dont know about ffmpeg or framemd5 ;) With the framemd5 checksum I can check many Lossless transcoders if they do their job correct when using lossless codecs, and I was wondering how many professional transcoders are destroying the video when transcoding from lossless formats like uncompressed 4:2:2 10bit (v210) to the same output format (v210) (because of an internal YUV422-RGB blowup I guess). Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] Questions about readout important metadata from DPX files (logarthmic/linear) and recreate DPX with same metadata
3.) How can I read out the DPX Version information like mediainfo does? (Version 2) Could you explain the usecase? The usecase is to log the archive ingest process. In this log there are different informations like: CreatingSoftware (ffmpeg, premiere etc), FileFormat, FileFormatVersion (if versions are existing). So you can see what was going into the archive whichout searching and opening the DPX file themself. Best Regards Christoph Gerstbauer ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] FFv1 - encoding problem with pixelformats gbrp10le and gbrp12le
What is unclear about this error message? (Note that I usually don't request an increased loglevel because it can make seeing the actual issue more difficult like in this case.) The error message is meant to be shown in red to make it easier to read: Does this not work on your terminal? Hello Carl the error message is shown in red, right :) It was my mistake. I ignored it frivolously, because I was used to be ffv1 always choose automatically the coder 1 if the pixfmt is higher than 8 bit, because: if I choose yuv pixel formats with more than 8bit like these examples : yuv422p10le yuv422p16le yuv444p10le than the ffv1 encoder automatically forces to CODER 1 as seen here: [ffv1 @ 003a6040] bits_per_raw_sample 8, forcing coder 1 Now I am testing rgb pixelformats higher than 8bit like gbrp10le (which I did not before), and it does not change automatically to CODER 1: [ffv1 @ 003a6020] bits_per_raw_sample of more than 8 needs -coder 1 currently (IN RED COLOR) Do you have any idea why ffv1 only changes the coder automatically in yuv pixel formats? Best Regards Christoph ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user