以B站推流为例,运用ffmpeg推流的各种操作-3_# 安装ffmpeg Ubuntu云服务器用ffmpeg推送视频篇
第一步
升级服务器安装工具
sudo apt-get update
第二步
安装ffmpeg
sudo apt-get install ffmpeg
第三步:在winscp上登录云后将想要直播的文件传到云端(只要打开了22端口就可以用putty或winscp访问服务器,一般在阿里云的防火墙规则处设置端口)
设文件位置为/root/Vedio/BB1.mp4
第四步(ffmpeg直播使用)
- 起步姿态:单文件直播
ffmpeg -re -i "/root/Vedio/F2.flv" -vcodec copy -acodec aac -strict -2 -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_XXXXXX_XXXXXX"
其中
-i 后的/root/Vedio/F2.flv为服务器文件路径,也可以是其他直播的直播流m3u8地址
==-re 按照视频的FPS进行推流,如果不加这个参数的话……反正不行。
-acodec aac == 设置音频编码为aac
-vcodec copy 设定视频编码与原视频相同
最后 rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_XXXXXXXXX
其中:rtmp://txy.live-send.acg.tv/live-txy/
以及:?streamname=live_XXXXXX_XXXXXXX&key=XXXXXXXXX
来自
B站直播间
B站实名认证后,选择好播放类型后,点击开始直播便会生成
在这个界面可以管理打开或关闭直播
注意:魔法上网工具需设置为直连或PAC
实名认证比较烦,但是为维护文明上网必不可少
假如视频不是x264格式会有警告,影响不大,想解决可以把原视频用Arctime或小丸工具箱转一下
- 循环播放设置
参考来自
https://blog.csdn.net/cai6811376/article/details/74783269
循环命令使用-stream_loop会出现
Option "-stream_loop" unrecognized
找到原因是因为 低版本Ubuntu无法识别循环命令来自 此网址
(注意,阿里云默认安装版本为,升级版本,这里直接依据这里的默认安装最高版本,查看Ubuntu内核版本)
参考;来自此网址
cat /etc/issue
升级系统版本,参考依据此Linux公社
sudo apt install update-manager-core
sudo do-release-upgrade
注意:
升级过程会遇到许多对话框,全部y然后enter,会有一个特殊对话框,上下键选择最上面一个即可
升级的最后一步需要restart重启,假如使用远程连接会断开一会
循环直播单个文件代码:
ffmpeg -re -stream_loop -1 -i "/root/Vedio/BB1.mp4" -vcodec copy -acodec aac -strict -2 -f flv "rtmp:XXXXXXXXXXX"
其中 -stream_loop -1便是让其可以循环推流的命令
升级Ubuntu教程可以参考
- 将其他直播源直播(参考网址)
简单些的直播网页直接F12调出开发者模式,选择到Network下的All信息流,然后在搜索框输入m3u8,然后5刷新一下就可以得到直播流的网址
但是
很多网站对直播流做了处理,不太好获取,有时获取到的是错误链接,有时获取的是但有音频的直播流,如何避开坑这里说不清,可以参考这上面的视频
在不确定获取的是不是需要的直播流链接,可以打开potplayer(一款很好用的播放器,随便搜索就可以找到安装包),右键调出选项,选择打开中的打开链接选项,然后粘贴链接到对话框即可
而且,在获取B站直播源时,发现即使是正确的直播源链接,在播放器可以打开,但是还是无法在B站直播,不知为何,处理去掉了链接中的客户端限制也不行,可能是B站不允许套娃,这里目前不知道为何
成功例子
ffmpeg -i "http://cctvalih5ca.v.myalicdn.com/live/cctv2_2/index.m3u8" -c:v copy -c:a aac -b:a 320k -ar 44100 -strict -2 -f flv "rtmp://txXXXXX"
- 剪辑视频(准确起止时间、无编码变化快速切割)参考网址
代码
ffmpeg -ss 00:00:00 -i /root/Vedio/BB2.mp4 -c copy -t 00:23:31 output.mp4
其中:
-ss: 起始时间
注意: -ss要放在-i之前
-i: 要分割的是频文件
-t: 分割时长:格式如下
可以是-t xx -> xx秒
也可以是-t 01:00:00 -> 时:分:秒,且不是视频中的时刻,而是要向后截取多长的视频
举例
若一个视频需要分成 3 段,具体分割位置为视频中的 Start~01:17:55,01:17:55~02:06:50,02:06:50~End
则可以:
ffmpeg -ss 00:00:00 -i sample_Input.mp4 -c copy -t 01:17:55 sample_Output-part1.mp4 #Start~01:17:55
ffmpeg -ss 01:17:56 -i sample_Input.mp4 -c copy -t 00:48:57 sample_Output-part2.mp4 #01:17:55~02:06:50
ffmpeg -ss 02:06:55 -i sample_Input.mp4 -c copy -t 01:11:48 sample_Output-part3.mp4 #02:06:50~End
可以试试,速度很快
另外,想快速切割视频为多份可以使用BoilsoftVideoSplitter这个软件
5. 服务器中Screen使用
screen命令为Ubuntu内部自带,可以让服务器现在进行的进程在关闭远程连接后继续进行,比如你在新Screen里推流成功后,电脑关机离线了后,云服务器还可以继续推流
screen -S name
启动一个名字为name的screen
其实假如直接用字符‘name’系统会自动分配一个随机数字加.nsme,比如1122.name进程,想知道现在服务器的所有screen进程时,使用
screen -ls
需要关闭某screen时,使用
screen -S name -X quit
可以让服务器现在进程在关闭远程连接后继续进行,就是你在新Screen里推流成功后,电脑关机离线了后,云服务器还可以继续推流
下次打开服务器时,打开的screen进程时默认关闭的,想要打开需要用
screen -r name
6.进阶用法 多文件自动续播及自动循环播放
用bash命令与循环命令来实现,同时搭配Winspcp来写入文件
下面代码感谢@一只不愿透露姓名的猫:
while true
do
for i in ./*.mp4
do
ffmpeg -re -i "$i" -c copy -f flv "rtmp://txy.live-send.acg.tv/live-txy/?streamname=live_232670856_9449243&key=6c4e26928342b910be48404c7309bbc2"
done
done
用法:将代码复制后新建一个文本文档中,如txt结尾的文档,将代码粘贴到里面,用winscp传到需要直播的文件夹里后,例如文件名为tl.txt,
winscp用法
winscp是一款很方便的文件传输工具,轻松在本地与服务器之间传输文件
上图为新建对话以连接服务器
下图为软件界面
在用cd命令进入到所在文件夹后(例如绝对路径为/root/vedio/tl.txt)
cd /root/vedio/tl.txt
之后bash命令使得tl.txt中命令自动运行
bash tl.txt
—————————————————结束分割线—————————————————————
每一分我都当作是你十分的喜欢(❤ ω ❤)
以B站推流为例,运用ffmpeg推流的各种操作-3_# 安装ffmpeg Ubuntu云服务器用ffmpeg推送视频篇相关推荐
- 阿里云服务器编译ffmpeg
1.在usr文件夹中创建jason文件夹 cd /usr :进入usr文件夹 mkdir jason: 创建jason文件夹 2.上传ffmpeg文件到阿里云 3.解压ffmpeg压缩包 4.编译.s ...
- 1、树莓派使用FFMPEG推流到PC端显示
基本思想:最近思索做个产品,因此前期调研相关技术,准备开干,,呦呦呦 http://dranger.com/ffmpeg/tutorial01.html 1:虚拟机设置USB3.1 2:虚拟机设置摄像 ...
- bcc服务器搭建网站,如何用云服务器bcc建站
如何用云服务器bcc建站 内容精选 换一换 由于通用型/内存优化型II代的云服务器与通用型/内存优化型I代的云服务器具有不同的虚拟化架构和不同的驱动类型,所以通用型/内存优化型I代云服务器创建的私有镜 ...
- ffmpeg推送rtsp流或者视频文件到rtsp服务器
1.推送rtsp视频流 ffmpeg -i rtsp://admin:admin1234@192.168.1.64:554/h264/ch1/sub/av_stream -codec copy -f ...
- 同样可以建站,云服务器和虚拟主机的区别在哪?
云服务器和云虚拟主机都是基于云计算技术研发,也都可以用于建站,那么在建站应用上,云服务器和虚拟主机各自的优势何在,两者又有什么区别,接下来就为大家简单分析一下. 关于虚拟主机,通俗来说,就是从一台服务 ...
- 云服务器怎么建站系统
云服务器怎么建站系统 云服务器是以云计算为基础,利用虚拟化技术将多个物理服务器整合形成的计算资源池,能够提供安全.高效.灵活的计算服务.建立网站是当前的一项热门需求,云服务器的低廉价格与优异性能成为越 ...
- ffmpeg批量将mkv内封装的默认软字幕压制为MP4硬字幕视频
要求 1:提前安装好ffmpeg 2:有Linux系统 Linux(Ubuntu)安装ffmpeg请看这里 Linux(centos)安装ffmpeg请看这里 Windows安装请看这里 ffmpeg ...
- 最简单的基于FFmpeg的推流器(以推送RTMP为例)
===================================================== 最简单的基于FFmpeg的推流器系列文章列表: <最简单的基于FFmpeg的推流器(以 ...
- ffmpeg推流B站直播
环境:阿里云服务器ECS Ubuntu系统 目的:在服务器上使用FFmpeg将视频推流到B站进行直播. 步骤: 1. 安装FFmpeg和yasm 下载安装ffmpeg,官网下载地址: http://f ...
最新文章
- I2C和SPI总线优缺点对比
- Tensorflow源码解析5 -- 图的边 - Tensor
- Reporting Services 的多值参数究竟能否用在数据集获取途径为存储过程的情景呢?...
- 贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal#39;s algorithm)
- emwin之基于某个事件或标志创建某个界面的一种方法
- 32. Leetcode 141. 环形链表 (链表-双指针-环形链表)
- NSString与NSData互转
- java 自定义注解获取_Java自定义注解
- 卡尔曼滤波器求速度matlab,卡尔曼滤波器算法浅析及matlab实战
- h2 不能访问localhost_个人学习系列 - Spring Boot 整合 H2
- HDU - 6749 Mosquito(二分+状态压缩+最大流)
- centos / Linux 服务环境下安装 Redis 5.0.3
- .Net Core微服务系列--开篇
- 【物理笑话】学过物理的人才能看懂的笑话,你能看明白几个?
- 20172329 2017-2018-2 《程序设计与数据结构》实验一报告
- 永中向香港博览会主办方演示云办公(转载)
- Echarte柱状图文字位置
- iOS7官方推荐图标和图像尺寸
- jmeter性能测试实战——基础篇
- 1688-item_search_img - 按图搜索1688商品(拍立淘)
热门文章
- 交互网站html5模块,全能HTML5交互工程培训
- 长虹电视安装第三方软件2021最新方法!
- Robust image stitching with multiple registrations之浅见
- redis开启过期监听
- 洋葱炒蛋 蒜苔炒肉
- 推荐一款很好的播放器:MXPlayer,可以播放4K视频
- 电动车控制器 GPS 车充OC2004设计方案参考电路,可替MPS9486
- 计算机故障维修的流程,《电脑维修流程图(图文)》.doc
- 微信公众号接入web服务器,asp.net Web API 接入微信公众平台验证服务器,接收微信发送的POST请求...
- 智能充电桩系统PHP源码,【基于51单片机】电动车智能充电桩(全套)