ffmpeg推流到b站直播间
linux 25

一.安装ffmpeg

1.yum -y install wget
2.wget --no-check-certificate https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.0.3-64bit-static.tar.xz
3.tar -xJf ffmpeg-4.0.3-64bit-static.tar.xz
4.cd ffmpeg-4.0.3-64bit-static
5.mv ffmpeg /usr/bin && mv ffprobe /usr/bin && mv qt-faststart /usr/bin && mv ffmpeg-10bit /usr/bin
##一键
tar -xJf ffmpeg-4.0.3-64bit-static.tar.xz && cd ffmpeg-4.0.3-64bit-static && mv ffmpeg /usr/bin && mv ffprobe /usr/bin && mv qt-faststart /usr/bin && mv ffmpeg-10bit /usr/bin

二.推流

1.获取b站直播间rtmp地址,例子rtmp://txy.live-push.bilivideo.com/live-bvc/?streamname=xxxx

2.上传MP4到选定的文件夹中,设为/yuxi/videos

3.创建视频列表(读取/yuxi/videos/ 目录下mp4文件,并生成列表list.txt)

printf "file '%s'\n" /yuxi/videos/*.mp4 > list.txt 生成的 list.txt 文件内容是这样的: file '/yuxi/videos/1.mp4' file '/yuxi/videos/2.mp4' file '/yuxi/videos/3.mp4' file '/yuxi/videos/4.mp4'

4.推流循环脚本

1.直接推

#!/bin/bash
while true
do
  ffmpeg -re -f concat -safe 0 -i /yuxi/ffmpeg/list2.txt -vcodec copy -acodec copy -f flv "rtmp://live-push.bilivideo.com/live-bvc/xxx"
done

2.重新编码推流(占用cpu)

#!/bin/bash
while true
do
 ffmpeg -re -f concat -safe 0 -i /yuxi/ffmpeg/list2.txt -preset ultrafast -vcodec libx264 -g 60 -b:v 3000k -c:a aac -b:a 92k -strict -2 -f flv "rtmp://live-push.bilivideo.com/live-bvc/xxxx"
done

5.关闭

如果你想终止的话,以往的命令是终止不了的,只能先 ps -ef,找到推流ffmpeg是那个端口,然后使用 kill -9端口来终止 如果是在服务器上面的话,ps找不到后台运行的端口号的话,可以使用ps -ef|grep nohup或者使用ps aux &来查看,一般都是ffmpeg的端口号干掉就可以了

ffmpeg推流到b站直播间
https://blog.883051.xyz/archives/ffmpeg-tui-liu-dao-b-zhan-zhi-bo-jian
作者
玉溪
发布于
更新于
许可