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!
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.png85.4 KB · Views: 369
-
Correct_settings_based_on_the_insights_gather_from_forum_2.png25.2 KB · Views: 344
-
Correct_settings_based_on_the_insights_gather_from_forum_3.png28.8 KB · Views: 233
-
Correct_settings_based_on_the_insights_gather_from_forum_4.png41.4 KB · Views: 230
-
Crash_report_after_corrupted_recording_with_replaced_FFMPEG_dlls_(trick).txt80.2 KB · Views: 37
-
Crash_report_not_having_replaced_FFMPEG_dlls_(without_the_trick).txt74.8 KB · Views: 30
-
Log_of_OBS_STUDIO_25.0.8_not_having_replaced_FFMPEG_dlls_(without_the_trick).txt4.7 KB · Views: 34
-
Log_of_OBS_STUDIO_25.0.8after_corrupted_recording_with_replaced_FFMPEG_dlls_(trick).txt5.3 KB · Views: 32
-
Replacement_of_avcodec-58.dll_(after_the_recording_crash_with_consequently_corrupted_video)_go...png25.7 KB · Views: 200
-
vp9+opus_error_stats.png49.4 KB · Views: 210
Last edited: