关于FFmpeg的安装和介绍我就不多说了,本文只是记一下我在使用过程中的一些笔记,我用FFmpeg主要是用来做一些直播相关的事。文章中可能有一些错误的地方,勉强能看~
简单的b站直播推流
- ffmpeg -re -i "f:\1.mp4" -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
来解释一下每个参数的意思。
-re 按照视频的FPS进行推流,如果不加这个参数的话……反正不行。
-i 后加视频路径,也可以是网络上的视频地址
-vcodec copy 指定视频编码为复制。
-acodec aac 音频使用aac编码。后面的-b:a 192k则是指定码率。
-f flv 指定输出格式,这个必须是flv才能推到直播服务器。
最后一串就是直播地址了。
-i 指定的输入文件并不一定是本地文件,可以是网络视频流,甚至可以是.m3u8文件。
单文件循环推流
- ffmpeg -re -stream_loop -1 -i "f:\1.mp4" -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
-stream_loop -1 中 -1 表示无限循环;0表示 不循环
多文件循环推流
- ffmpeg -re -f concat -stream_loop -1 -i "list.txt" -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
list.txt文件中写入你的视频
例如:
- file '01.mp4'
- file '02.mp4'
- file '03.mp4'
b站转播
一个示例:无人值守转播Line Live。
- ffmpeg -i "http://lss.line-cdn.net/p/live/hs-usWVd7LwNrZzsLIS4xNCxebGE1JBkrISUGFjZrEGczPikMfQhhM2lZNVQ2fhUWAxA4F2tUbDJkJWtXfXNjZmUVcDllMmlQ/720/chunklist.m3u8" -vcodec copy -acodec libmp3lame -ac 2 -ar 44100 -b:a 96k -f flv "你的rtmp地址/直播码"
上面是一个原文章里的示例,我主要是用来转播一些手机发布会的直播,把视频流替换一下就行了,例如转播魅族的发布会
- ffmpeg -i "https://player-live.meizu.cn/launch/live.m3u8" -vcodec copy -acodec libmp3lame -ac 2 -ar 44100 -b:a 96k -f flv "你的rtmp地址/直播码"
转录网络直播流
把直播视频保存到本地,相比直接录屏占用资源更小
- ffmpeg -i "https://player-live.meizu.cn/launch/live.m3u8" -vcodec copy -acodec copy -f mp4 "f:\record.mp4"
"f:\record.mp4"就是保存到本地的视频地址,当然转播和录制是可以同时进行的,比如
- ffmpeg -i "https://player-live.meizu.cn/launch/live.m3u8" -vcodec copy -acodec libmp3lame -ac 2 -ar 44100 -b:a 96k -f flv "你的rtmp地址/直播码" -vcodec copy -acodec copy -f mp4 "f:\record.mp4"
参考文章
上海市 6F
技术层面的都没达到这个水平,我都是用PotPlayer这一类的软件来做边看边录之类的事情。
上海市 5F
转录网络直播流这个实用 保存了
上海市 4F
该拔草了
浙江省温州市 3F
哈哈
浙江省宁波市 B1
@ km 111啊啊啊
江苏省常州市 2F
过来看看
浙江省宁波市 1F
追番神器?