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,

.get_sei_data = nvenc_sei_data,

};

上面这段代码就是nvenc的h264编码模块,nvenc是NVIDIA推出的显卡编码工具,同时具备h264和h265编码功能,只是OBS没有使用h265的部分而已。

于是仿照上面的代码,构建h265的模块。

struct obs_encoder_info hevc_nvenc_info = {

.id = "hevc_nvenc",

.codec = "hevc",

.type = OBS_ENCODER_VIDEO,

.caps = OBS_ENCODER_CAP_PASS_TEXTURE,

.get_name = hevc_nvenc_get_name,

.create = hevc_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,

.get_sei_data = nvenc_sei_data,

};

函数大部分都可以复用h264的,除了create和get_name。

create函数也基本和H264一样,里面把NV_ENC_CODEC_H264_GUID替换成NV_ENC_CODEC_HEVC_GUID,类似这种替换一下,

然后去obs_ffmpeg.c里面添加obs_register_encoder(&nvenc_encoder_info);进行注册。OBS即可使用这个编码器。当然最终没有成功,nVidia的驱动报错了,研究下去比较费劲,所以就剑走偏锋,找到外国友人提供的线索,OBS还有一个录像功能,可以选择FFMPEG自定义输出,可以在里面选择URL输出,即可进行推流。此时需要编译一个可以进行h265推流的FFMPEG,然后放到obs编译配置里面去,一起编译,就可以调用这个自定义的FFMPEG,最终实现H265的rtmp推流。

obs 推流编码在哪设置_在OBS上进行H265推流相关推荐

  1. obs 推流编码在哪设置_直播软件OBS推流的设置方法

    如今是一个直播盛行的时代,在我们身边有着形形色色的直播内容,以及五花八门的直播看点,还有千奇百怪故事内容,更有危险性极高的探险直播,总之直播已经无所不在,它也是现在生活中不可缺少的一部分,看电脑时要看 ...

  2. obs 推流编码在哪设置_浮动课堂 | 讲讲OBS直播软件的简单设置

    原标题:浮动课堂 | 讲讲OBS直播软件的简单设置 现在如果你想要直播,OBS这个软件显然是一个非常值得考虑的选择,今天我们就来简单讲讲OBS该怎么设置. 首先我们打开OBS Studio,可以看到右 ...

  3. obs 推流编码在哪设置_有品直播竖屏OBS推流教程

    推流设备准备 1.电脑:Windows系统,最好用台式机直播,笔记本不要用轻薄款,用游戏本.处理器intel i5及以上,最好i7,独立显卡,固态硬盘. (注意,电脑硬件配置过低时,可能导致画面卡顿或 ...

  4. obs 推流编码在哪设置_OBS Studio基本设置

    OBS分为OBS Classic(经典版)和OBS Studio(工作室版),后者比前者功能更多,更稳定,所以我们选择用OBS Studio版进行介绍. 首先打开OBS Studio,进入设置页面(如 ...

  5. obs 推流编码在哪设置_OBS录屏软件

    obs录频软件 1.安装 https://obsproject.com/zh-cn 安装到需要的位置 2.安装问题 原因:系统非正规需要更新缺少的驱动 3.操作 1>启动 添加"场景& ...

  6. obs 推流编码在哪设置_obs rtmp推流地址设置

    主要代码在properties-view.cpp rtmp的URL ,key 对应的QLineEdit是在程序内动态生成的 QWidget *OBSPropertiesView::AddText(ob ...

  7. amaozn aws 设置_在aws上设置一个免费的piKong

    amaozn aws 设置 A guide to setting up a FREE Pi-Hole instance on Amazon EC2 在Amazon EC2上设置免费的Pi-Hole实例 ...

  8. iphone桌面上的圆圈怎么设置_苹果手机桌面上找不到便签记事本怎么办?有办法添加吗...

    原标题:苹果手机桌面上找不到便签记事本怎么办?有办法添加吗 习惯了使用安卓手机的小伙伴,可能很多人都会选择在便签或者记事本里记录待办事项.因为随着移动互联网的发展,现在很多安卓手机上都有系统自带的便签 ...

  9. 视频编码h264怎么看_新手怎么上高速,视频拍给你看

    新手怎么上高速,视频拍给你看https://www.zhihu.com/video/1078283038936395776 ​ 其实高速开车并不比市区难的,心态放松一点,掌握一些简单的行车技巧,也不难 ...

  10. 物联网卡设置_为什么手机上使用物联网卡的要设置APN

    物联卡由企业采购时进行实名认证,不允许进入个人市场,随着物联卡行业的不断扩张,由于物联卡的流量费相对便宜,而且很多人使用物联卡作为流量卡,因为它不是手机专用的流量卡,所以在使用中往往会出现信号不稳定, ...

最新文章

  1. 从特斯拉到英伟达,那些端到端自动驾驶研发系统有何不同?
  2. 基于矩阵分解的推荐算法
  3. 数据链路层、交换机内容整合
  4. 空间谱专题11:子阵平滑与秩亏缺
  5. niginx反向代理解决前后端跨域问题
  6. SYBASE中生成所有建表语句的过程
  7. ios UICollectionViewLayout 横向瀑布流
  8. 今日芯声 | 从“罪犯”到“英镑人物”,图灵比肩英国女王
  9. 数据挖掘与商业智能理论
  10. 论文分析---APP流量分类
  11. coding码市的运用
  12. 学习自旋电子学的笔记00:杂谈(闲话) OOMMF软件的安装
  13. 北京市中 高英语听说计算机考,北京2018中考英语听说计算机考试工作通知
  14. IC设计基础001:寄存器读写,读清是如何实现的
  15. 绿色版premiere cs4无法导出(输出)解决方法
  16. 基础知识redis详解--【Foam番茄】
  17. RabbitMQ:惰性队列
  18. 职场人生(七):毕业季,回忆大学生活
  19. 基于4G网卡的Telnet远程登录RT-Thread的Finsh/MSH Shell
  20. 苹果手机数据线充不了电_手机充不满电?教你四个办法解决!

热门文章

  1. python绘制包络线_包络线和包络谱计算程序
  2. java中的面向对象(基础)
  3. 软件民工的幸福生活3
  4. 关于电平转换电路1.8V转3.3V
  5. Making Pre-trained Language Models Better Few-Shot Learners
  6. QN-H618 遥控器复制再生仪(拷贝机)
  7. mysql 不等于 优化_Mysql优化
  8. 云免停机卡免流服务器监控
  9. 泰拉瑞亚服务器怎么让玩家注册,泰拉瑞亚服务器权限指令大全
  10. 联盛德 HLK-W806 (十三): 运行FatFs读写FAT和exFat格式的SD卡/TF卡