不用obs不用直播姬,直接ffmpeg命令行推流RTSP到B站直播间

2023-05-16

最近在做公司的直播准备工作,在尝试过程中,发现公司的“海康威视 DS-2CD1021FD-IW1”摄像头输出的是RTSP格式的。

经过各种搜索,尝试了用B站官方直播姬抓VLC窗口,又尝试了用obs抓VLC窗口,进行推流,结果都实现了。 美中不足的是,我用的是Windows server 2022 的KVM虚拟机服务器,结果一旦退出虚拟机,就等于vlc没有窗口了,也就无法推流了,直播就会中断。

有没有不用图形界面,在命令行下就能实现从摄像头拉流,然后转码,直接推流到B站直播间呢? 经过尝试,还真有。

1.实现方式: Debian11.1 最小化安装+ffmpeg

你没有看错,就是这么简单。下图就是运行过程中,出现的一系列刷屏流水信息。 

 所需命令:

# 刷新一下源,安装ffmpeg
apt update
# 直接安装ffmpeg
apt install ffmpeg
# 打开B站直播间,开始直播,并复制服务器地址和直播码
ffmpeg -re -i "rtsp://Kmeraer:13792468@192.168.1.111" -vcodec copy -acodec aac -r 20 -b:v 500k -b:a 32k -f flv "服务器地址/直播码"

# 针对串流方式不是 rtsp,而是mjpeg的摄像头,需要对编码格式进行转换,如下,就是IP 手机摄像头为源
ffmpeg -re -i "http://192.168.1.63:8080/video" -vcodec libx264 -acodec aac  -r 16 -b:v 200k -b:a 32k -f flv "服务器地址/直播码"
# 上面的 -vcodec libx264,将手机获得的视频流,进行了H.264压缩,然后推流

2. 说明:我的摄像头,登录账号是 Kmeraer,密码是13792468,192.168.1.111,是摄像头的ip,后面的  服务器地址/直播码,需要开始直播后,B站给出。一般不修改分类,不修改直播名称,是不会变的。 -r 20 参数限制了推流的帧数为20帧/s,-b:v 500k ,限定视频的码流为500,后面是音频,32K

注意,开播前要选择rtmp地址,点击开始直播,就会出现服务器地址和直播码,就是直接将两者按顺序粘贴就可以了

上图是打开后的状态, 这里只是标记一下,要在什么位置选择。

 3. 可以采用 nohup  命令 &  的方式,来后台运行推流操作, 不影响后继退出Debian系统。

这里是采用了 Debian11.1的KVM虚拟机, 只安装了 ffmpeg,整个操作ssh登录进行即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不用obs不用直播姬,直接ffmpeg命令行推流RTSP到B站直播间 的相关文章

随机推荐