OBS官方明确表态不支持H265,貌似以后也不会支持,什么原因呢?可以看官方论坛上的吵架
不想看英文的,我这里简单说一下,就是因为Adobe公司的RTMP协议里面并没有支持H265,所以他们不想支持H265。当然群众的呼声还是十分强烈的。那么问题来了,如何修改OBS的开源代码使得其支持H265格式呢?
开始尝试:
首先github上clone下OBS源码,按照官方说明,配置编译环境,这里不多说。编译成功后,开始尝试寻找编码器的部分代码。
找到obs-ffmpeg这个模块,里面有个文件jim_nvenc.c
struct obs_encoder_info nvenc_info = {
.id = "jim_nvenc",
.codec = "h264",
.type = OBS_ENCODER_VIDEO,
.caps = OBS_ENCODER_CAP_PASS_TEXTURE,
.get_name = nvenc_get_name,
.create = nvenc_create,
.destroy = nvenc_destroy,
.update = nvenc_update,
.encode_texture = nvenc_encode_tex,
.get_defaults = nvenc_defaults,
.get_properties = nvenc_properties,
.get_extra_data = nvenc_extra_data,<