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