立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 36|回复: 6

利用ffmpeg推流b站7*24直播

[复制链接]

利用ffmpeg推流b站7*24直播

[复制链接]

11

主题

82

回帖

749

积分

高级会员

积分
749
minick

11

主题

82

回帖

749

积分

高级会员

积分
749
2023-5-28 20:15:35 | 显示全部楼层 |阅读模式
本帖最后由 minick 于 2023-5-28 20:42 编辑

昨天看见论坛大佬写了个用kplayer推流的教程,我运行时直播一段时间后会报错

所以在网上找了下 看见用ffmpeg好像更好

我搭建的测试直播间:http://live.bilibili.com/2504721

github地址https://github.com/x-dr/bilive24h





安装ffmpeg

[ol]

  • wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
  • tar -xJf ffmpeg-release-amd64-static.tar.xz
  • cp -r ffmpeg-6.0-amd64-static /usr/local/ffmpeg
  • [/ol]复制代码

    在~/.bashrc文件添加一行
    [ol]
  • export PATH=$PATH:/usr/local/ffmpeg[/ol]复制代码
    然后运行
    [ol]
  • source .bashrc[/ol]复制代码


    推流脚本

    [ol]

  • # 颜色选择
  • red='\033[0;31m'
  • green='\033[0;32m'
  • yellow='\033[0;33m'
  • font="\033[0m"


  • stream_start(){
  • # 定义推流地址和推流码
  • echo -e "${yellow} 开始设置推流,使用默认选项直接回车 ${font}"
  • echo -e "${yellow} ps:推流地址是b站我的直播,服务器地址和串流密钥连在一起中间无需空格和逗号 ${font}"
  • read -p "※ 输入你的服务器地址和串流密钥(rtmp协议): " rtmp

  • # 判断用户输入的地址是否合法
  • if [[ $rtmp =~ "rtmp://" ]];then
  •         echo -e "${green} 推流地址输入正确,程序将进行下一步操作. ${font}"
  •         sleep 2
  •         else
  •         echo -e "${red} 你输入的地址不合法,请重新运行程序并输入! ${font}"
  •         exit 1
  • fi

  • # 定义视频存放目录
  • echo -e "${yellow} 脚本会推流所设置目录下的所有视频 ${font}"
  • read -p "输入你的视频存放目录(并且要绝对路径,默认/video): " folder
  • if [ ! $folder ];then
  •         folder="/video"
  • fi

  • # 定义视频和音频码率
  • read -p "请输入视频推流码率(默认4000k): " bv
  • read -p "请输入音频推流码率(默认192k): " ba
  • if [ ! $bv ];then
  •         bv="4000k"
  • fi
  • if [ ! $ba ];then
  •         ba="192k"
  • fi

  • # 判断是否需要添加水印
  • read -p "是否需要为视频添加水印?水印位置默认在右上方,需要较好CPU支持. 默认不加,添加请输入y:" watermark
  • if [ $watermark = "y" ];then
  •         read -p "输入你的水印图片存放绝对路径,例如/opt/image/watermark.jpg (格式支持jpg/png/bmp):" image
  •         echo -e "${yellow} 添加水印完成,程序将开始推流. ${font}"
  •         # 循环
  •         while true
  •         do
  •                 cd $folder
  •                 video=$(find ./ -type f | shuf -n 1)
  •                 ffmpeg -re -i "$video" -i "$image" -filter_complex overlay=W-w-5:5 -preset ultrafast  -g 25 -b:v ${bv} -c:a aac -b:a ${ba} -strict -2 -f flv ${rtmp}
  •         done
  • else
  •     echo -e "${yellow} 你选择不添加水印,程序将开始推流. ${font}"
  •     # 循环
  •         while true
  •         do
  •                 cd $folder
  •                 video=$(find ./ -type f | shuf -n 1)
  •                 ffmpeg -re -i "$video" -preset ultrafast -vcodec libx264 -g 25 -b:v ${bv} -c:a aac -b:a ${ba} -strict -2 -f flv ${rtmp}
  •         done
  • fi
  •         }

  • # 停止推流
  • stream_stop(){
  •         screen -S bilive -X quit
  •         }

  • # 开始菜单设置
  • echo -e "${yellow} FFmpeg无人值守循环推流 ${font}"
  • echo -e "${red} 运行推流时请确定此脚本目前是在screen窗口内运行的! ${font}"
  • echo -e "${red} 运行推流时若未在screen窗口内请先运行  screen -S bilive ${font}"
  • echo -e "${green} 1.开始无人值守循环推流 ${font}"
  • echo -e "${green} 2.停止推流 ${font}"
  • start_menu(){
  •     read -p "请输入数字(1-2),选择你要进行的操作:" num
  •     case "$num" in
  •         1)
  •         stream_start
  •         ;;
  •         2)
  •         stream_stop
  •         ;;
  •         *)
  •         echo -e "${red} 请输入正确的数字 (1-2) ${font}"
  •         ;;
  •     esac
  •         }

  • # 运行开始菜单
  • start_menu
  • [/ol]复制代码
  • 回复

    使用道具 举报

    15

    主题

    33

    回帖

    193

    积分

    注册会员

    积分
    193
    keaideo

    15

    主题

    33

    回帖

    193

    积分

    注册会员

    积分
    193
    2023-5-28 20:17:39 | 显示全部楼层
    来个一键脚本
    回复

    使用道具 举报

    16

    主题

    76

    回帖

    284

    积分

    中级会员

    积分
    284
    kimjames

    16

    主题

    76

    回帖

    284

    积分

    中级会员

    积分
    284
    2023-5-28 20:26:24 | 显示全部楼层
    可以啊效果不错
    回复

    使用道具 举报

    13

    主题

    120

    回帖

    463

    积分

    中级会员

    积分
    463
    igger

    13

    主题

    120

    回帖

    463

    积分

    中级会员

    积分
    463
    2023-5-28 20:30:05 | 显示全部楼层
    大佬NB,虽然用不上,顶一个.
    回复

    使用道具 举报

    11

    主题

    314

    回帖

    1047

    积分

    金牌会员

    积分
    1047
    gajiodgaj

    11

    主题

    314

    回帖

    1047

    积分

    金牌会员

    积分
    1047
    2023-5-28 20:48:13 | 显示全部楼层
    修复版电影吗,分辨率很高
    回复

    使用道具 举报

    73

    主题

    379

    回帖

    1683

    积分

    金牌会员

    积分
    1683
    鸡场新人

    73

    主题

    379

    回帖

    1683

    积分

    金牌会员

    积分
    1683
    2023-5-28 20:53:14 | 显示全部楼层
    可以推流到油管吗?
    回复

    使用道具 举报

    130

    主题

    350

    回帖

    2118

    积分

    金牌会员

    积分
    2118
    1121744186

    130

    主题

    350

    回帖

    2118

    积分

    金牌会员

    积分
    2118
    2023-5-28 20:56:02 | 显示全部楼层
    有相关的软件和插件,那些播电影的就是用的那个
    回复

    使用道具 举报

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

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-19 11:10 , Processed in 0.022626 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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