转码推流简单实现方案(一)

最近工作中用到ffmpeg,刚好趁这个机会跟大家分享下,视频流的转码推流简单方案。这个方案如果不是特别高的并发播放量,还是够用的。当然如果出现高并发播放量,也是可以对模块进行扩容的,这里是分享的方案是分模块实现整个服务。


前言

这是一个简单的系列分享,抽空分阶段分享给大家。


一、整个服务的流程图

在这里插入图片描述

这是一个大致的交互流程图,整个服务分成3个模块,先说下各模块的作用。
videoAgent:负责与业务系统交互,响应业务系统的转码请求拉流请求。负责对ffmpeg转码参数的校验、调用shell执行命令、返回新视频流地址(播放器可播放的流地址)
ffmpeg:安装在服务器上,负责执行转码。
nginx:配置推流,负责videoAgent转码的新地址推流。
以上就是基本方案,这个方案可以有几个变种,适应多种业务环境。下面举例几个:
内网流转外网推流:videoAgent部署在内网,与ffmpeg与nginx所在服务器可与之交互。videoAgent增加内外网映射能力。
高负载方案:videoAgent集群,ffmpeg、nginx多机集群部署。增加注册中心,videoAgent增加调度能力,分摊转码推流压力。

二、使用步骤

1.ffmpeg安装

这个没啥好说的,也没有什么特殊配置。这里就分享一下CSDN博友分享的最新安装方法:
https://blog.csdn.net/qq_43627076/article/details/118584645
不够详细的,可以再自行问G大人或度娘。

2.验证ffmpeg安装

在这里插入图片描述

出现版本信息就表示安装完成了,注意,需要将ffmpeg的bin目录配置到环境变量path里(centos最好也是,不然命令要带路径,也可能出现其他异常)

3.验证ffmpeg转码

在这里插入图片描述
转码后的flv播放效果
在这里插入图片描述
命令:
ffmpeg -i “I:\个人\慧联无限\2021\2021103003.mp4” -c:v libx264 -ar 22050 -crf 28 “I:\个人\慧联无限\2021\测试转码.flv”
参数详解自行见ffmpeg文档。


总结

这个方案个人觉得是轻量实现的基础,这次还没有来得及分享videoAgent的具体代码,大家可以自行think下,下期跟我的分享同步。 ffmpeg的转码能力还是很强大的,只要服务器给力,把调度做好,这个还是很有商用价值的。 下期分享nginx的配置、RTMP的流播放效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥仔哥哥1930

来一波支持,吃不了亏上不了当

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值