Question / Help No ffmpeg H.265 software encoding (libx265) when recording?

dl9sec

New Member
Hi,

i tried to record to UDP using nvenc_hevc for H.265 encoding, but all i get is an error message:

Code:
Failed to open video codec: Generic error in an external library
ffmpeg_data_init failed

It seems, this encoder needs hardware support to work, but my GT650M can't do that, so i expect OBS/ffmpeg to use the software encoder libx265 instead.

Why isn't there the choice for libx265 in OBS? Is the OBS integrated ffmpeg not prepared/compiled for that?

I know, that the generic ffmpeg (latest version) works fine with "-vcodec libx265", because i worked around this issue by recording via UDP to a local instance of a generic ffmpeg to transcode from H.264 to H.265.

Background for that is, that a lot of radio amateurs use OBS to generate video streams to send them as "Digital Amateur Television" DVBS2 coded to the new geostationary satellite QO-100. The bandwidth of the DATV transponder is only 8MHz and the transmit power of a ground station is only some ten watts into a dish, so the transmissions are made with bitrates of 2MBit/s down to 33kBit/s.
Especially for the lower bitrates over the air, the stream bitrates have to be very efficient. The H.264 works fine, but the H.265 saves a lot of precious bandwidth.

It would be really great to have libx265 selectable at the recording encoders of OBS.

Or is there a trick to get the integrated ffmpeg encode recordings in H.265?

Thanks in advance.

Regards, Thorsten
 

BluePeer

Member
265 with cpu is not live working the power required is to high
you need a hardware that support encoding for realtime encoding
best way is like prepost told record with High quality and later reencode to 265
for that you need to calc ~ x4-8 related to cpu power for encode time of the realtime
 

dl9sec

New Member
Thanks for the replies.

As already said: transcoding an OBS generated H.264 stream to H.265 via an external running FFMPEG instance through UDP works great (about 5..7% CPU load by OBS, about 3..5% CPU load by FFMPEG).

My question was, why the FFMPEG H.265 software encoder "libx265" isn't selectable at recording in OBS...
 

koala

Active Member
What resolution and fps are you encoding with software ffmpeg h.265 that you get 3.5% CPU load, on a Notebook? It cannot be much more than stamp size, since h.265 is extremely CPU hungry.
That is probably also the cause for x265 not being included in OBS, because live encoding common resolutions like 720p or 1080p require CPU power so high no CPU is actually able to provide. Only hardware encoders are able to do this, so you find only h.265 hardware encoder support (nvenc or amd vce) in OBS Studio.
 

dl9sec

New Member
Compared to a 4K 30 FPS video, you're absolutely right :)

I am talking about an over-the-air stream with e.g. 125 kbit/s. With an FEC1/2 which needs a very low signal/noise ratio to be decodeable a bandwidth of about 80 kbit/s are left for a A/V transport stream. Therefore a 12 FPS 384x306 video and audio with 12kHz sample rate can be used. That's not much, but believe me, it is absolute amazing if you see and hear a fluid stream transmitted with 20W into a 73cm dish which travels 72000km until decoded.

Just a little trip in another world :D

So it would be really great to have libx265 available in OBS...
 

Attachments

  • DL9SEC_H265Output.jpg
    DL9SEC_H265Output.jpg
    242.7 KB · Views: 147
Top