0. 通过修改环境变量,实现ffmpeg命令在任意命令行路径可用的方法。不用再使用下面的第1步了!!
注意:一路“确定 ” 保存设置后,最好重启一下,这样就可以将ffmpeg变成系统命令了。同时可用的还有FFmpeg文件夹下的ffplayer、ffprobe。 FFmpeg是免安装版解压后,我重命名的文件夹。
1.到官网下载ffmpeg的windows系统下可运行的文件,解压后放到你认为顺手的地方。
在ffmpeg.exe所在文件夹下,右击鼠标,选择 “在Windows 终端 中打开”,复制下图中所显示的地址:
2. 查找一下推流要用到的设备列表,主要是电脑上的摄像头、声卡。
.\ffmpeg -list_devices true -f dshow -i dummy
# 注意,要加上前面的 “.\”,否则会提示出错
运行后会显示各类设备的名称,我这里是:
因为安装了OBS推流工具,所以上面第二个红框里面显示的是虚拟摄像头,还有耳机式麦克风,是一个Type-C接口的手机上配的有线耳机,这里也识别出来了。
注:虚拟设备安装这个软件即可 Setup Screen Capturer Recorder v0.12.11.exe
3.编辑bat文档,实现双击后直接推流。
3.1首先在记事本文档中输入下列命令:这里是推流整个桌面了
.\ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风 (Realtek(R) Audio)" -r 20 -vcodec libx264 -preset ultrafast -acodec aac -ac 2 -ar 44100 -ab 128k -pix_fmt yuv420p -f flv "rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_1805854332_79717982&key=123456789876543211472583695&schedule=rtmp&pflag=1"
其中下面的内容是B站你的直播间的地址和推流码,根据自己的实际情况进行修改。
"rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_1805854332_79717982&key=123456789876543211472583695&schedule=rtmp&pflag=1"
3.2 可以先复制到Windows 终端,手动运行测试一下,是否成功,然后再将命令补充完整。
最终的bat格式的文档内容:
C:\Users\UserName\Videos\ffmpeg-2022-02-24\bin\ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风 (Realtek(R) Audio)" -r 20 -vcodec libx264 -preset ultrafast -acodec aac -ac 2 -ar 44100 -ab 128k -pix_fmt yuv420p -f flv "rtmp://live-push.bilivideo.com/live-bvc/?streamname=live_1805854332_79717982&key=123456789876543211472583695&schedule=rtmp&pflag=1"
3.3 将在记事本中编辑好的内容,另存为 .bat 格式的即可。
4. B站直播间,只要开播的名称,分类不变,每次推流的推流码就不会变。所以这种方法,仅适用于固定条件, 若直播间的标题,分类有了更动,则重新修改 直播间的地址和推流码 这一部分,重新保存即可。
使用时,先开播,再双击 推流.bat,即可!
5. windows下和linux下差不多,可参考我之前发的文章:
不用obs不用直播姬,直接ffmpeg命令行推流RTSP到B站直播间_lggirls的博客-CSDN博客
6.补充无法推流音频的问题。
需要安装 Screen Capturer Recorder,然后将 "麦克风 (Realtek(R) Audio)" 这一部分修改为 "virtual-audio-capturer" 。