Notifications
Clear all

Learning to encode ProRes 422 (HQ)  

   RSS

0

According to "FFmpeg Prores explained" at https://wideopenbokeh.com/AthenasFall/?p=111

There are different profiles levels when it comes to encoding to prores.
Levels
——

0: ProRes422 (Proxy) – apco
1: ProRes422 (LT) – apcs
2: ProRes422 (Normal) – apcn
3: ProRes422 (HQ)- apch

From the example above, using phfx_com.mov(42.2MB) file,
-profile:v 0 gives a 11.4MB size and moves you to 10-bit 4:2:2 space.
-profile:v 1 ranges at around 28MB, it too is in 10-bit 4:2:2 space.
-profile:v 2 moves us up to 45.2MB with 10-bit 4:2:2 space and finally
-profile:v 3 goes to 67.9MB at 10-bit 4:2:2

 

Attached below is also ProRes_Data_Rates from the whitepaper where I have highlighted ProRes 422 (HQ) for

PAL SD 576i50 and HDV 1080i50

 

If these streams can be captured via S-video and HDMI, will it be possible to setup CinGG/ffmpeg profile 3 to record (encode) ProRes 422 (HQ) video?

 

Attached is also a screenshot CinGG-FFMPEG_yuv422p10le

Where fit the yuv422p10le profile in regarding the above listed, and is there an option to select profile 3 ?

Other CinGG required settings to take care of PAL SD 576i50 and HDV 1080i50?

 

Terje J. H

 

 

Attached ProRes_Data_Rates

Topic Tags
4 Answers
0

The CinelerraGG pro possibilities are documented in the pro render choice as:

mov prores
# ProRes, encoder prores_aw. Container Apple QuickTime movie (.mov).
profile=2
# The possible video profile values for the ProRes codec are:
# 5 = 4444xq
# 4 = 4444
# 3 = HQ (high quality)
# 2 = Standard
# 1 = LT (light)
# 0 = Proxy

So to use the 3 version for HQ, in the box below switch the line "profile=2" to "profile=3".   I will have to look at the white paper yet.

@phyllissmith

> So to use the 3 version for HQ, in the box below switch the line "profile=2" to "profile=3".

Sorry, I tried but didn't find out how to do this profile change. Can you attach a screenshot of this detail?

@terje

how to do this profile change. Can you attach a screenshot of this detail?

In your previous attached png - CinGG-FFMPEG_yuv422p10le.png - on the right hand menu where you see the line "profile=2", simply change the number 2 to the number 3 and be sure to check the green colored checkmark.  It will stay at this setting across sessions until you change it or revert to the original bcast5 configuration.

@phyllissmith

Thanks. I wasn't aware of that box was in Edit mode. I was looking for a right-hand context menu to select profile from. Tricky 😀 

0

@terje

Other CinGG required settings to take care of PAL SD 576i50 and HDV 1080i50?

OK, I looked at the next note from the white paper.  Just changing profile=2 to 3 does the trick for that too.  Also, you can also change the "Pixels" by using the arrow pulldown from yuv422p10le to yuv444p10le or yuva444p10le.

 

@phyllissmith

> Other CinGG required settings to take care of PAL SD 576i50 and HDV 1080i50?
OK, I looked at the next note from the white paper. Just changing profile=2 to 3 does the trick for that too.

 

I have to check and verify, according to the whitepaper above:

PAL SD (S-video) is 720x576 @ 50i (with square pixels and 4:3 image/frames)

HDV is 1440x1080 @ 50i (with non-square pixels 4:3 and anamorphic images/frames to be unsqueezed to 16:9 when displayed)

 

Does CinGG/ffmpeg really auto-detect the input stream or format, so that no setting beyond the profile selection is needed? And does the encoded ProRes file be interlaced or progressive ?

 

Edit 1

I did a simple test and rendered (transcoded) a hdv.m2t file to hdv.mov using the default CinGG/ffmpeg ProRes profile 2 (yuv422p10le).

The test was only to verify if the aspect ratio was kept correct 16:9 when displayed in both cases as follows;

 

ffplay and VLC both display the original hdv.m2t file correct as 16:9

Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc

 

ffplay and VLC both display the converted hdv.mov file wrong as 4:3

Stream #0:0: Video: prores (apcn / 0x6E637061), yuv422p10le, 1440x1080, 111199 kb/s, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)

 

Compare the different SAR and DAR properties for the two files.

 

Edit 2

In comparision I also tested playback of a special ProRes hd01.mov file recorded on a BMD HyperDeck Shuttle 2 SSD recorder, directly from the same HDV Camera with its Image Processor operating via HDMI out at 1920x1080 in 4:2:2 color space (that is not via a tape compressed hdv.m2t file).

 

ffplay and VLC both display this hdv.m2t file correct as 16:9

Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709, top coded first (swapped)), 1920x1080, 182130 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 2500 tbn, 2500 tbc (default)

@terje

Does CinGG/ffmpeg really auto-detect the input stream or format, so that no setting beyond the profile selection is needed? And does the encoded ProRes file be interlaced or progressive ?

Yes, it uses ffmpeg to do so.  If you ever listen to the original author, he always says after loading a file, "conform your project".  Well, with CinGG it automatically does that for you BUT you can change it of course using Settings->Format.

I am not too sure about the interlacing.  When I loaded a file that is interlaced according to mediainfo and rendered it with pro, the result did not say it was interlaced.  BUT it sure looked like the result was when I played it (once without a plugin and then with a F_interlace plugin added).

 

@phyllissmith

I tested a standard HDV.m2t file imported from hdv tape

ffplay and VLC both display it correct as 16:9 aspect ratio (DAR), and ffplay shows correct pixel aspect ratio 4:3 (SAR)

Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc

 

Then I loaded this file in CinGG/mpeg and checked the Set Format window. I'm unsure this match what ffplay reports above with regards to SAR and DAR?

See the attached Set Format window.

0

I go a little OT (I'm sorry), but as an intermediate codec try to use ffv1. It is a high quality codec, perfectly compatible with ffmpeg, free, uncompressed and easily and fully configurable. The only problem (for me) is the "mkv" container that gives me lower performance (the container, not the codec).
http://ffv1.org/

@andreapaz

Thank you for the tip. ffv1 sounds interesting and I have to read me up on this topic. Have you seen data rates for ffv1 lossless compression of SD and HDV video, to compare them with ProRes?

 

And still we need support for HQ capture hardware to be able to digitize analog video and HDV tape playback streams.

 

I saw mentioned lack of support for ffv1 among commercial video applications and hardware. Beyond ffplay I would expect VLC can playback the mentioned container files with ffv1 encoded video(?)

0

@terje

It is a codec that Olaf recommended to me some time ago, but I stopped using it right away because of the problems with mkv ( https://www.cinelerra-gg.org/bugtracker/view.php?id=137). I remember that an HD mp4 became 1.2GB in ProRes and about 1.5GB in ffv1. But I didn't get to do any more tests; I'm sorry.

Usually it is used as a storage codec, not as a mezzanine codec, but in wikipedia you can find the following sentence:
"Belgium
meemoo, the Flemish Institute for Archives announced in June 2020 that they would start a major operation transcoding and rewrapping their MXF wrapped JPEG2000 files resulting from digitisation projects for the cultural heritage sector material to MKV wrapped FFV1 files. In 2019 they had already announced that MKV-FFV1 would be the mezzanine format of their migration project for DV, DVCAM and DVCPRO cassettes."
Also in the wikipedia entry there is a table of compatibility with various programs.

I was wrong to put the link in the previous post; I wanted to put:
https://ffmpeg.org/~michael/ffv1.html

 

(Sorry for OT!)

Share: