Question / Help Even going back trought past editions of OBS doesn't help when you are dealing with no possible encoding (or similar result) with the VP9/opus! -HELP-

Domenicoakatdg

New Member
Utilized version of the software for the sake of writing this post and report the problem:
Mainly OBS 25.0.8 (installed from the .exe file) but also the others mentioned in the text.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Root of problem: Can't record or stream with these two codes via FFMPEG custom output ↓
VIDEO CODEC → libvpx-vp9 AUDIO CODEC → libopus

----------------------------------------------------------------------------------------------------------------------------------------------------------------------
DISCLAIMER:
As a free and open-source program OBS Studio is one the most phenomenal choiche when it comes to MEDIA live streaming and recording! I have not come here to complain, moan or grizzle too much about my libvpx_vp9+opus-encoding-overload situation, I just here to find a cure or an answer and also want to really know why from version 0.14.2 (May 2016 when first implemented in the CUSTOM FFMPEG OUTPUT) we, as a really strong and passionate community that supports this awesome freeware (give credit where credit is due), did not get a workaround or solution for the problem. Is that BIG of a pain in the a** for Hugh "Jim" Bailey and collaborators fix a really important matter (it's not just another codec-in-the-mix) seen that the VP9 is one of the "best for the purpose" codec that can save about 20-50% bitrate compared to libx264, and a really little amount compared to hevc or h.265 (pss the pure codec quality between the two isn't a major differentiator as I said so it's really your choice of ""taste"" and compatibility but anyway), has Google as "producer" and developer and it's supported by every phone on the planet (let's say most of it). Let's not forget that is natively compatible with Youtube (my main focus and interest here). Of course, all things have pros and cons but right now, for what it's seems, we have more pros than cons, (I repeat: Is a really ductile and malleable codec that could fits most hard situation where others would raise the white flag). What do you say? As I am very fascinated to hear your thoughts, I also could go on and on for hours so let's not digress that much from the actual post.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
INTRODUCTION:
I needed to get that out ↑ of my chest, thanks for the patience. Let's come to the real matter ↓
From a while now that I am steadly following the forum with its topics and threads, I found very interesting ones with which I am developing a 360° "culture" about the program. It's a very good forum because there is always people (YOU! who are reading this enormous post) ready to help and suggest what is the best setting for almost every aspects of it. I FREAKING LOVE the positivity of the answers and the availability of helping the other. BTW thanks to the Google Search Operators I managed to group all posts that really could help with my situation (for some reason I can't stand the internal search toolbar of the forum, IDK why). Those which talk about the libvpx/libvpx-vp9/+opus/vorbis encoding mishaps and related ffmpeg problems, Icecast streamings that don't go as planned (which involved, obviously, incorrect vp8/vp9+opus/vorbis configurations) Vp9_vaapi failures, or simply requests of pissed off users who want the implementation of those a/v codecs. An implementation which works as it should of course, not the one we have from 2016. I repeat: to this day we still can't encode in VP9+opus without having a really "bad encoded" (meaning only the first seconds would be recorded at an unpredictable and unknown bitrate and then total black) file or an ""corrupted"" uploaded video at the end of, respectively, the recording or the streaming session (I imagine that someone in the virtual crowd is suggesting a very important detail that I was almost to forgot: "Replace those ffmpeg dlls of OBS with the real ones of ffmpeg shared edition and you will be good"... Tried that process: Doesn't work as intended (meanign that the encoding seems to be launched correctly but then the /OVERLOAD/ warning [even with all the precautions] arrives all pumped up and ruin everything!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
BODY TEXT:
Having set the tone, I am ready to eviscerate the whats and hows that made me angry about all of this.
So even though I've been following all different suggestions and raccomendations I ended up every time with the same result: A really super annoying /OVERLOAD/ warning! I also tried messing around with the FFMPEG encoder video parameters following closely the guide on FFMPEG "official" site (https://trac.ffmpeg.org/wiki/Encode/VP9) to really see if something would change (for correctness purposes I need to say here that something slightly changed' → I will share with you what you need to insert in order to alleviate the problem. Directly from command line of FFMPEG 4.1.4 shared edition, those are the parameters: (This is the correct sintax to be used in the ENCODER VIDEO PARAMETERS box immediately under the video codec box: -deadline realtime -error-resilient 0 -cpu-used 5 -speed 16 -quality realtime -vp8flags 0) but nothing relevant comes off from that. Dissapointed by my poor results I decided to go on a trip down memory lane to see if the previous versions of OBS can handle in an usable way the encoding process with the longed-for VP9+opus/vorbis... No joy whatsoever because from 0.2.4 edition (May 2014) that was available only for MAC initially (or at least it is what I can guess from the dmg files in the repositories on Github) but then they enable following ones for WINDOWS to the 0.14.2 (May 2016) there is no support for the codec (even if the dates don't add up, click on the following link to clarify → https://bit.ly/3dp8yL2). I also tested those version making the replacement of OBS's ffmpeg dll(s) to trick OBS software to use original ffmpeg already compiled libraries from the shared version (which can be found here →https://ffmpeg.zeranoe.com/builds/win64/shared/). Needless to say, the response when I tried to launch the recording process: "An unspecified error has occured" (I know it is a stretch this replacement, but better be safe than sorry as they say). But not all is lost, in these dark moments I cheered myself up for the 0.14.2 edition. Must try that one, right? On the other hand is the first implementation of the codecs in OBS' FFMPEG, what possibly can go wrong?
Well, same error as the other versions :( →
With the replacement I can get it working but the /OVERLOAD/ warning (translation: the encoding lag and consequent loss of frames) make my video unusable! So the following version I presume have the same fate attached to them so it's useless for me to try them and loose my time, isn't it? Did you get the idea?! However...
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CONCLUSION:
I tried everything, I search everything closely related on the web, and now I'm in your wise hands.
Help a poor user lost in the vastness of foolish and untrue solutions.
Let me see the light at the end of the tunnel.
We hope that this post will be read by people very high up on the OBS staff. I would like to get them my message and resolve the situation once and for all for all the people who needs to record or stream in VP9+Opus!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
P.S:
I forgot one last thing ↓
I also tried to replace avcodec-58.dll once I got that crash that you can view attached to this post (named:Crash_report_after_corrupted_recording_with_replaced_FFMPEG_dlls_(trick)) to possibly fix the error...
Go see the png attached called
Replacement_of_avcodec-58.dll_(after_the_recording_crash_with_consequently_corrupted_video)_gone_wrong_as_it_seems
and see for yourself...
I thank you immensely for reading up to this point. Have a good night!
 

Attachments

  • Correct_settings_based_on_the_insights_gather_from_forum.png
    Correct_settings_based_on_the_insights_gather_from_forum.png
    85.4 KB · Views: 356
  • Correct_settings_based_on_the_insights_gather_from_forum_2.png
    Correct_settings_based_on_the_insights_gather_from_forum_2.png
    25.2 KB · Views: 327
  • Correct_settings_based_on_the_insights_gather_from_forum_3.png
    Correct_settings_based_on_the_insights_gather_from_forum_3.png
    28.8 KB · Views: 222
  • Correct_settings_based_on_the_insights_gather_from_forum_4.png
    Correct_settings_based_on_the_insights_gather_from_forum_4.png
    41.4 KB · Views: 220
  • Crash_report_after_corrupted_recording_with_replaced_FFMPEG_dlls_(trick).txt
    80.2 KB · Views: 30
  • Crash_report_not_having_replaced_FFMPEG_dlls_(without_the_trick).txt
    74.8 KB · Views: 23
  • Log_of_OBS_STUDIO_25.0.8_not_having_replaced_FFMPEG_dlls_(without_the_trick).txt
    4.7 KB · Views: 29
  • Log_of_OBS_STUDIO_25.0.8after_corrupted_recording_with_replaced_FFMPEG_dlls_(trick).txt
    5.3 KB · Views: 25
  • Replacement_of_avcodec-58.dll_(after_the_recording_crash_with_consequently_corrupted_video)_go...png
    Replacement_of_avcodec-58.dll_(after_the_recording_crash_with_consequently_corrupted_video)_go...png
    25.7 KB · Views: 191
  • vp9+opus_error_stats.png
    vp9+opus_error_stats.png
    49.4 KB · Views: 195
Last edited:

vapeahoy

Member
vp9 isn't supported everywhere. youtube videos will have to be 1440+ to be vp9 encoded, not sure if thats still the case. twitch is just x264 compliant. Lots of wrong settings here, it doesn't seem likely you have done one bit of reading on the topic.

Best of luck.
 

Domenicoakatdg

New Member
vp9 isn't supported everywhere. youtube videos will have to be 1440+ to be vp9 encoded, not sure if thats still the case. twitch is just x264 compliant. Lots of wrong settings here, it doesn't seem likely you have done one bit of reading on the topic.

Best of luck.
You aren't quite updated about the situation, "mate"!
There isn't still the case (from a while now), now also all HD material if you encoded in VP9+Opus in a .webm container correctly will be uploaded. I didn't mention Twitch, so I'm not completely talking about that particular platform! And regards of the first few words I read, you are wrong! VP9 isn't supported anywhere? Are you serious? It's like talking about, like, (I'm making something up [with some bases of course] for the sake of the argument) H.265 isn't the future codec for like gaming and stuff related. Behind VP9 there is Google, not a random company. And for this 7 years I am pretty sure they work their ass off to assure that would be the case in the future so when the videogaming industry really would take place, steadly into the market (if there isn't already the case).
Plus I don't know If you have viewed everything that I share but I managed to get it worked but with some pretty heavy downsides. I even type correctly the FFMPEG encoding parameters with the correct sintax, and you are purportedly saying that I made a lot of mistakes?
I don't think you thought that through, I will just presume you didn't have something important or useful about the topic.
Not all the users are so kind and gentle I presume. Thanks for your non support!

Best regards from an italian guy
 
Last edited:

Domenicoakatdg

New Member
Utilized version of the software for the sake of writing this post and report the problem:
Mainly OBS 25.0.8 (installed from the .exe file) but also the others mentioned in the text.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Root of problem: Can't record or stream with these two codes via FFMPEG custom output ↓
VIDEO CODEC → libvpx-vp9 AUDIO CODEC → libopus

----------------------------------------------------------------------------------------------------------------------------------------------------------------------
DISCLAIMER:
As a free and open-source program OBS Studio is one the most phenomenal choiche when it comes to MEDIA live streaming and recording! I have not come here to complain, moan or grizzle too much about my libvpx_vp9+opus-encoding-overload situation, I just here to find a cure or an answer and also want to really know why from version 0.14.2 (May 2016 when first implemented in the CUSTOM FFMPEG OUTPUT) we, as a really strong and passionate community that supports this awesome freeware (give credit where credit is due), did not get a workaround or solution for the problem. Is that BIG of a pain in the a** for Hugh "Jim" Bailey and collaborators fix a really important matter (it's not just another codec-in-the-mix) seen that the VP9 is one of the "best for the purpose" codec that can save about 20-50% bitrate compared to libx264, and a really little amount compared to hevc or h.265 (pss the pure codec quality between the two isn't a major differentiator as I said so it's really your choice of ""taste"" and compatibility but anyway), has Google as "producer" and developer and it's supported by every phone on the planet (let's say most of it). Let's not forget that is natively compatible with Youtube (my main focus and interest here). Of course, all things have pros and cons but right now, for what it's seems, we have more pros than cons, (I repeat: Is a really ductile and malleable codec that could fits most hard situation where others would raise the white flag). What do you say? As I am very fascinated to hear your thoughts, I also could go on and on for hours so let's not digress that much from the actual post.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
INTRODUCTION:
I needed to get that out ↑ of my chest, thanks for the patience. Let's come to the real matter ↓
From a while now that I am steadly following the forum with its topics and threads, I found very interesting ones with which I am developing a 360° "culture" about the program. It's a very good forum because there is always people (YOU! who are reading this enormous post) ready to help and suggest what is the best setting for almost every aspects of it. I FREAKING LOVE the positivity of the answers and the availability of helping the other. BTW thanks to the Google Search Operators I managed to group all posts that really could help with my situation (for some reason I can't stand the internal search toolbar of the forum, IDK why). Those which talk about the libvpx/libvpx-vp9/+opus/vorbis encoding mishaps and related ffmpeg problems, Icecast streamings that don't go as planned (which involved, obviously, incorrect vp8/vp9+opus/vorbis configurations) Vp9_vaapi failures, or simply requests of pissed off users who want the implementation of those a/v codecs. An implementation which works as it should of course, not the one we have from 2016. I repeat: to this day we still can't encode in VP9+opus without having a really "bad encoded" (meaning only the first seconds would be recorded at an unpredictable and unknown bitrate and then total black) file or an ""corrupted"" uploaded video at the end of, respectively, the recording or the streaming session (I imagine that someone in the virtual crowd is suggesting a very important detail that I was almost to forgot: "Replace those ffmpeg dlls of OBS with the real ones of ffmpeg shared edition and you will be good"... Tried that process: Doesn't work as intended (meanign that the encoding seems to be launched correctly but then the /OVERLOAD/ warning [even with all the precautions] arrives all pumped up and ruin everything!
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
BODY TEXT:
Having set the tone, I am ready to eviscerate the whats and hows that made me angry about all of this.
So even though I've been following all different suggestions and raccomendations I ended up every time with the same result: A really super annoying /OVERLOAD/ warning! I also tried messing around with the FFMPEG encoder video parameters following closely the guide on FFMPEG "official" site (https://trac.ffmpeg.org/wiki/Encode/VP9) to really see if something would change (for correctness purposes I need to say here that something slightly changed' → I will share with you what you need to insert in order to alleviate the problem. Directly from command line of FFMPEG 4.1.4 shared edition, those are the parameters: (This is the correct sintax to be used in the ENCODER VIDEO PARAMETERS box immediately under the video codec box: -deadline realtime -error-resilient 0 -cpu-used 5 -speed 16 -quality realtime -vp8flags 0) but nothing relevant comes off from that. Dissapointed by my poor results I decided to go on a trip down memory lane to see if the previous versions of OBS can handle in an usable way the encoding process with the longed-for VP9+opus/vorbis... No joy whatsoever because from 0.2.4 edition (May 2014) that was available only for MAC initially (or at least it is what I can guess from the dmg files in the repositories on Github) but then they enable following ones for WINDOWS to the 0.14.2 (May 2016) there is no support for the codec (even if the dates don't add up, click on the following link to clarify → https://bit.ly/3dp8yL2). I also tested those version making the replacement of OBS's ffmpeg dll(s) to trick OBS software to use original ffmpeg already compiled libraries from the shared version (which can be found here →https://ffmpeg.zeranoe.com/builds/win64/shared/). Needless to say, the response when I tried to launch the recording process: "An unspecified error has occured" (I know it is a stretch this replacement, but better be safe than sorry as they say). But not all is lost, in these dark moments I cheered myself up for the 0.14.2 edition. Must try that one, right? On the other hand is the first implementation of the codecs in OBS' FFMPEG, what possibly can go wrong?
Well, same error as the other versions :( →
With the replacement I can get it working but the /OVERLOAD/ warning (translation: the encoding lag and consequent loss of frames) make my video unusable! So the following version I presume have the same fate attached to them so it's useless for me to try them and loose my time, isn't it? Did you get the idea?! However...
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CONCLUSION:
I tried everything, I search everything closely related on the web, and now I'm in your wise hands.
Help a poor user lost in the vastness of foolish and untrue solutions.
Let me see the light at the end of the tunnel.
We hope that this post will be read by people very high up on the OBS staff. I would like to get them my message and resolve the situation once and for all for all the people who needs to record or stream in VP9+Opus!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
P.S:
I forgot one last thing ↓
I also tried to replace avcodec-58.dll once I got that crash that you can view attached to this post (named:Crash_report_after_corrupted_recording_with_replaced_FFMPEG_dlls_(trick)) to possibly fix the error...
Go see the png attached called
Replacement_of_avcodec-58.dll_(after_the_recording_crash_with_consequently_corrupted_video)_gone_wrong_as_it_seems
and see for yourself...
I thank you immensely for reading up to this point. Have a good night!
There is an error in the title. I was in hurry and I didn't remember to double check everything so I made a mistake ↓
Even going back *through*
I feel better already (ahhaha)
 

Domenicoakatdg

New Member
Sadly facing same situation and found no solution yet.
For libopus a first fix is to set 48 kHz for audio : https://github.com/obsproject/obs-studio/issues/2503
I had already found that fix but thank you very much for writing it so maybe someone else can find the solution. But once you actually start recording directly in VP9 + libopus, the encoding is really too slow and starts losing frames at any setting and with any combination of settings! Nobody thinks it is important to solve this problem? Even after months I don't see anyone facing it! I FREAKING understand you brother but I think that (you and me) can't do shit to steer developers of OBS on the right path, or can we?
 

koala

Active Member
You can recode a h.264+aac-encoded video to vp9+opus after recording with your postprocessing software, so there is no serious issue that will prevent you from recording in the first place.
 

Domenicoakatdg

New Member
You can recode a h.264+aac-encoded video to vp9+opus after recording with your postprocessing software, so there is no serious issue that will prevent you from recording in the first place.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
So you are saying I'm complaining for no reason?!
Don't get me wrong but what you suggest is SECURELY one way to create a ""workaround"" to the problem! I need a solution. What would be the point of recording with a "weaker encoder" like h.264 that no longer has something to give to technicians) paired with (IMHO) a shitty Aac (the yesterday standard if you ask me) and then remux all the video and audio streams into VP9+libopus?! What would be the purpose of that? Obs has always been a program that has innovated, why stop here? The vanguard of FREE recording professional software is frightened in front of this small step? I don't understand!
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I won't go into details but as you can see from the posts I've written, there's a lot to talk about!
If you want to deal with the whole issue properly, we have to do it in private and not with a "weak" and too "diluted communication" like THOSE in the forums!

(SOURCES: https://opus-codec.org/ ; https://www.encoding.com/vp9/ ; https://trac.ffmpeg.org/wiki/Encode/VP9)
 

koala

Active Member
Of course it's a workaround. I had the impression that you need vp9+opus media for handover to someone who insists on getting media with this kind of encoding only. If able to choose the encoder freely, a sensible person will choose the best encoder that works. If it doesn't work, he will choose the next best encoder instead of insisting on using the encoder that doesn't work. If he still insists instead of using what works, he will not get things done.

OBS is a tool for streaming, so its main focus is about what streamers need. And streamers need h.264. Almost no streaming service supports different encoders than h.264. So there's no point in investing development time for making some encoder work for a tiny fraction of the users. The forums are not exactly flooded with requests for it.

The development time is better invested in new features, not working on already present and working features. There is a working encoder with reasonably good quality that is supported by 100% of all streaming services - h.264. There may be better codecs than h.264 as time goes by, but h.264 works well, so it's feasible to use it. There are working newer alternatives, for example hvec (h.265) is working well for recording, if you have a hardware encoder. For software encoder it's too resource demanding to support. However, it's not usable for streaming, because no free streaming provider supports hvec. But it works in custom ffmpeg output or with a complete GUI if you use the streamfx plugin.

With audio, you can use some kind of lossless format with *.mkv container if opus isn't working.
 

Nahouhak

New Member
OBS is a tool for streaming, so its main focus is about what streamers need.
I think there is more people are recording with OBS than streaming just because more people record than stream. Many people like me do not stream and make donation to obs project. We are not asking here to support an obscure unused format here. We are asking better support for THE best lossy audio coding format available widely used in the industry and one of the best video coding format also widely used in the industry. The combination is directly readable in any up to date and decent internet browser. VP9 + Opus is great in term of disk usage. Great is term of quality. Great in term CPU usage. They are open and royalty free which is not the case of H.264 / HVEC / AAC.
 
Top