Bug Report ProRes codec was fine but now tearing badly

TheRealStudio13

New Member
Previously (2016) my prores captures were flawless. I was able to use these captures directly in my production workflow. It was great, a real time saver to be able to capture then immediately playback these captures in an edit suite. They captured as .mov [[ Apple ProRes 422 (Proxy), 1280 × 720, 29.97 fps, 21.42 Mbps ]]

Now (2018) I am unable to capture using the prores codec without tearing on three separate systems. The tearing is very pronounced. I'm available to help trouble shoot or test fixes. Please let me know how I can help.
 

TheRealStudio13

New Member
Some additional info ..

I have two systems with OBS installed :
Windows 10 - i7 7700, 16gig ram, SSD's, GTX1060 . This system is optimized for media production and game development. Overall performs very well. (OBS 21.1.0 64bit)
Mac OSX 10.11.6 - 2008 MacPro 8-core, 12Gig ram, SSD's, GT 740, Nvidia webdrivers. Older hardware upgraded but works very well with all other media apps like video editing and audio. (OBS 21.1.1)​
 
Last edited:

TheRealStudio13

New Member
Recording using H.264 codecs produces smooth videos no tearing on both systems. In particular the Windows 10 system with the GTX 1060 using the Standard method with the NVENC H.264 encoder works well. The problem with using these H.264 recordings is a workflow issue where I am required to recompress them to ProRes or DNxHD so I can use them in production. That recompression takes time and there's a noticeable drop in picture quality using (Davinci Resolve).
 

Suslik V

Active Member
OBS Studio uses FFmpeg for ProRes encoding, they all at least 10bit codecs while OBS Studio uses 8bit output (per channel). "Proxy" is lowest quality intended for previews only and not recommended for production as I know. Also, OBS Studio doesn't output alpha (yet) thus no advantage to use ProRes right now.

Maybe you can review your production sequence? H.264 is standard codec for most hw/sw digital video systems, it has good compatibility. You may look at: Post Production Tools You can Use - maybe you will find something useful there.
 

TheRealStudio13

New Member
Hey @Suslik V thanks for the info and taking the time to post. I checked out the link you provided. I use DaVinci Resolve and Pro Tools two of the apps listed on that page.

Native ProRes capture (recording) is a requirement for my production workflow. I do not have 30min to import h.264 and re-compress 30min of gameplay footage back to ProRes. I need to start playing that native ProRes capture back right away.

Proxy setting works well because it is the lightest data rate. I do not edit this footage for delivery it's for reference only. I deliver audio so the picture is not part of my delivery back to the client again it's only for reference here on site.

The reason we use ProRes and DNxHD is because they intra frame codecs, directly supported for playback in ProTools (there is a short list of supported file types). Intra frame compression performs the best in an editing timeline while scrubbing and frame by frame advance.

H.264 is and inter-frame compression and is not best suited (and not supported) for scrubbing and frame by frame.

Again thanks for your feedback @Suslik V
 
Last edited:

Suslik V

Active Member
Audio only? You don't need OBS Studio at all...

Video - H.264 or MPEG2 is the choice for OBS Studio right now. The media container (mov, mp4, mkv, flv or ts) may vary. Output: 8bit per channel; 4:2:0 or 4:4:4 sub-sampling formats or RGB. Standards: BT.601 or BT.709; partial range preferable.

Audio - AAC encoder or MP2; 44100Hz or 48000Hz sampling rate; stereo preferable.

In current version of OBS Studio you can open Stats window during recording, and see if any lag is present during recording session. If you see rendering and encoding lag (my assumption) - you need to reduce Base (Canvas) Resolution and Output (Scaled) Resolution, to 320x240 - you don't need the video, so no need to convert large frames by CPU when encoding in ProRes of 4:2:2.
 

TheRealStudio13

New Member
Not sure what to make of your post. My original description is clear, I need prores video captures to work and feel like this is a bug worth reporting. What would be very helpful is for you to capture 2 or 3min of prores codec and post your results. Thanks for the tip about the stats windows I will check that out today.
 

TheRealStudio13

New Member
Here's my "stats" from OBS as screen shot

Screen Shot 2018-04-06 at 8.19.24 AM.png
 

Suslik V

Active Member
You on mac... Sorry, man, I don't know how to help you. At least, on Windows you can choose custom ffmpeg output (only there ProRes is available on Windows) and specify the codec, thus you can try mpeg2+mp2 in .mov container with video about 20000 and audio 160 bitrate. Then you can try to import it to your editing software (it works faster, if it works).
 

Suslik V

Active Member
My PC is weak for recording HD with ProRes using CPU conversion of color planes (was tested for prores and its forks aw & ks). For me, the suitable resolution for output is 768x432 at 30fps (all other settings - default). The OBS Studio skips logging the lagged frames if you have only few (when recording is started there is almost always insignificant lag, so @Jim decided to remove this info to not confuse users - you really should start recording few seconds before you take your first actions). For mentioned resolution - I have no tearing. But for 1280x720 and "Codec ID : apcn" (MediaInfo tool v17.10) I see tearing and see lag in the log and stuttering at OBS Studio Preview - you can post the screenshot of the tearing in the recorded file if you wish (my is letterboxed source, screenshot cropped; the tearing itself - previous frame at top of the screenshot, the next one - at bottom, in the middle - small rectangle, maybe plane scaling artifact + compression interruption, more than half of the image is passed):
DXHR ProRes encoder CPU overload image tearing.jpg
The CPU usage at this time hits ~97%. For successful recordings with prores I need at least 30% CPU usage room for high motion scenes. And I can get this room only if resolution is set to 768x432 or lower. I should mention it, because my PC is weak for game recordings, I used media source, teaser movie playback, and it itself (playback) consumes ~23% of my CPU (AMD Athlon(tm) II X2 250 Processor) in OBS Studio. Thus when I recording at 768x432@30fps with prores - CPU average usage about 66% and all things is OK.
 

TheRealStudio13

New Member
wow @Suslik V that is great info thank so much for posting your results !!

After more inquiry with my co-workers and testing here, it appears that OBS version 0.16.2 (this is the version is used for my original captures from 2016) is working with prores and produces wonderful looking captures. The settings are :

Video Tracks:
Apple ProRes 422, 1280 × 720, 30 fps, 94.78 Mbps

Audio Tracks:
24-bit Integer stereo, 48 kHz, 2.30 Mbps

Again in the current version of OBS I cannot capture prores without tearing. I will use this older version until a fix is available. I still consider this to be a bug in the current version.
 

thender

New Member
I experience the same issue you do as of recently. You can see it here: https://www.youtube.com/watch?v=4KuVvb9DTaU

I will try reverting to an older version as you did and see if this fixes things. It isn't because I love prores, but rather it is a much more editable codec in programs like Vegas. Much less render issues when doing lots of quick cuts.
 

thender

New Member
Ok so I just went through every version of OBS, 20.1.3 is the last version that worked with prores_aw. you can't pass any parameters like profile:v or pix_fmt, they won't work. However the codec is functional. prores_kw has always been broken and doesn't work, regardless of CPU power it will be overloaded and lag. However prores_aw will work with whatever its default parameters are, no tearing.

Any version of OBS after 20.1.3 will have tearing in prores_aw on any system I test with. So, if you like editing in prores because it is high quality and easy to for editing software to work with, roll back to 20.1.3.
 
Top