1
votes

I want to make a transcoding video app from h.264 to h.265. I have a problem with libavcodec library. I have this library in my project, all function is working, but when i'm trying to set codec : avcodec_find_decoder_by_name("libx265"); function couldn't find it. Hovewer, when i give "hevc" instead of "libx265" function is working, but it's not the same. Please for help :)

2

2 Answers

3
votes

There is no decoder named libx265

libx265 is only an encoder.

FFmpeg has a native, built-in HEVC/H.265 decoder

It is named hevc. You don't have to do anything special to include or enable it.

There are also several hardware accelerated HEVC decoders that may be available for your system: hevc_cuvid, hevc_mediacodec, hevc_qsv, hevc_rkmpp, and hevc_v4l2m2m.

0
votes

ffmpeg has implemented codecs (lets call them builtin) and wrappers to third party codecs. It seems/could be that the h265 codec is just a wrapper, that means you have to install a h265 decoder. Besides, did you specify the h265 codec when you configured ffmpeg? Did you build it yourself or pre build via package manager?

Try 'ffmpeg -decoders' at the command line and search for h265.