找回密码
 立即注册
搜索
查看: 1170|回复: 10

[软件] 从摄像头里获得的影像源,推流时需要再次编码吗?

[复制链接]
     
发表于 2024-6-9 10:29 | 显示全部楼层 |阅读模式
假设现在有三个直播平台A,B,C。都使用这个摄像头的源开始直播,它是否要消耗三倍的编码能力?还是说摄像头提供的源本身就是编码好的流,不需要再消耗额外的编码算力?
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-6-9 10:36 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-6-9 11:51 | 显示全部楼层
用什么软件都不说是要虚空讨论吗,比如obs不管你摄像头是啥编码收到后都要编码一次,obs不用插件只能推给1个服务器,你可以自己建一个推拉流服务器比如srs,这时候可以只复制不再重新编码,不过你想要重新编码应对不同平台的特殊要求也可以做到
回复

使用道具 举报

     
发表于 2024-6-9 12:56 | 显示全部楼层
日日夜夜 发表于 2024-6-9 11:51
用什么软件都不说是要虚空讨论吗,比如obs不管你摄像头是啥编码收到后都要编码一次,obs不用插件只能推给1 ...

我之前有一次活动是需要同时在抖音、B站、小红书上直播
采集卡连相机,OBS读采集卡,然后将OBS设置为虚拟摄像头
然后用其他三家的直播助手读虚拟摄像头,虚拟摄像头不会因为某软件占用而不能被其他软件读取
层层套娃能实现单机位三平台直播,就是非常吃性能
回复

使用道具 举报

     
 楼主| 发表于 2024-6-9 13:01 | 显示全部楼层
日日夜夜 发表于 2024-6-9 11:51
用什么软件都不说是要虚空讨论吗,比如obs不管你摄像头是啥编码收到后都要编码一次,obs不用插件只能推给1 ...

原来这个东西和软件有关系的啊,我一直没搞懂软件从摄像头获取数据的原理。所以我就没说软件,OBS确实是我用的最多的一款。


我有个疑惑是,摄像头给软件的到底是什么,是已经编码后的数据?还是什么?
回复

使用道具 举报

     
 楼主| 发表于 2024-6-9 13:03 | 显示全部楼层
二丁目拓也 发表于 2024-6-9 12:56
我之前有一次活动是需要同时在抖音、B站、小红书上直播
采集卡连相机,OBS读采集卡,然后将OBS设置为虚拟 ...

其实这里也是我想问的,

抖音,B站,小红书同时从这个虚拟摄像头里取数据,那么它们取到后,会重新编码一次吗?还是说取到的就已经是编码好的数据,直接推流就行了?

如果是需要重新编码,那这就需要三倍的编码算力啊
回复

使用道具 举报

     
发表于 2024-6-9 13:09 | 显示全部楼层
abcxiawei 发表于 2024-6-9 13:03
其实这里也是我想问的,

抖音,B站,小红书同时从这个虚拟摄像头里取数据,那么它们取到后,会重新编码 ...

应该会再次编码
每个平台的码率也不一样
回复

使用道具 举报

     
发表于 2024-6-9 13:57 | 显示全部楼层
普通摄像头采集的是 YUV 格式的数据,可以理解为一帧一帧的 BMP 图片,不可能不编码直接推流的,这种可以把视频编码后推到多个地址。

也有支持直接推流的摄像头,比如监控之类的就支持,可以用软件拉摄像头的流然后转推到直播平台,可以避免重编码。
回复

使用道具 举报

发表于 2024-6-9 13:57 | 显示全部楼层
abcxiawei 发表于 2024-6-9 13:01
原来这个东西和软件有关系的啊,我一直没搞懂软件从摄像头获取数据的原理。所以我就没说软件,OBS确实是 ...

摄像头给的数据类型主要看摄像头(包括驱动给的选项),老一些的usb摄像头很多是mjpeg流,新一点的usb摄像头(包括很多wifi摄像头)也有h264、hevc,如果是hdmi接口、sdi接口或带宽足够的USB接口的有YUV或RGB流
YUV或RGB都算raw格式,数据量大,一般用于制作,不用于成品交付
mjpeg、h264、hevc这些都是已经编码的数据,理论上直接上传也可以,但实际上可能不一定满足平台的编码要求
因为不解码成raw就不可能进行任何画面修改,所以obs干脆没有直接上传的选项,都是重新编码的
回复

使用道具 举报

发表于 2024-6-9 14:00 | 显示全部楼层
本帖最后由 日日夜夜 于 2024-6-9 14:02 编辑
abcxiawei 发表于 2024-6-9 13:03
其实这里也是我想问的,

抖音,B站,小红书同时从这个虚拟摄像头里取数据,那么它们取到后,会重新编码 ...

虚拟摄像头获取的都是显卡framebuffer里面的raw数据,也就是RGB数据,所以肯定每个软件再各自编码的

所以你想要一次编码推流多个平台,只有知道平台的推流地址,绕过平台的推流工具,自己建立推流服务器推过去才行
回复

使用道具 举报

     
发表于 2024-6-9 15:14 来自手机 | 显示全部楼层
大部分是重新编码的。
你可以看看gstreamer这个框架,sink source的使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-20 00:29 , Processed in 0.227027 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表