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 can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
On Tue, May 5, 2015 at 8:41 AM, tim nicholson nichot20-at-yahoo@ffmpeg.org wrote: On 05/05/15 15:52, Christoph Gerstbauer wrote: Am 05.05.2015 um 09:06 schrieb tim nicholson: [...] 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? ffmpeg does not currently write that metadata at all in the mxf muxer so mxf2raw must be reporting the values corresponding to unset -- Tim. Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83 ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user I looked to ffmpeg tickets, for this feature, but could not find the ticket for this. Has anyone opened a ticket for this? kuban altan ___ 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?
On 04/06/15 12:06, Kuban Altan wrote: On Tue, May 5, 2015 at 8:41 AM, tim nicholson nichot20-at-yahoo@ffmpeg.org wrote: On 05/05/15 15:52, Christoph Gerstbauer wrote: Am 05.05.2015 um 09:06 schrieb tim nicholson: [...] 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? ffmpeg does not currently write that metadata at all in the mxf muxer so mxf2raw must be reporting the values corresponding to unset [..] I looked to ffmpeg tickets, for this feature, but could not find the ticket for this. Has anyone opened a ticket for this? Before opening a ticket I suggest you check the current git HEAD. [..] -- Tim. Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83 ___ 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?
On 05/05/15 15:52, Christoph Gerstbauer wrote: Am 05.05.2015 um 09:06 schrieb tim nicholson: [...] 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? ffmpeg does not currently write that metadata at all in the mxf muxer so mxf2raw must be reporting the values corresponding to unset -- Tim. Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83 ___ 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?
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. 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? 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 -- Tim. Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83 ___ 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?
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. 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. Regards, Marton [..] -- Tim. Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83 ___ 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 can I set in a D10 MXF (IMX50) file the flags for output color_range, -space, -transfer and primaries?
On 29/04/15 22:22, 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) 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 :/ I think this is the third time you have asked this question in a slightly different way, and the answer has not changed. I refer you to my previous responses. Best Regards CHristoph [..] -- Tim. Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83 ___ 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?
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) 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. Regards, Marton ___ 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) -