目录
随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。
想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔记就和没记一样,不是很方便。
很多时候我们遇到了问题,一般情况下都是选择在搜索引擎检索相关内容,这样来的也更快一点,除非真的找不到才会去选择翻书。后来就想到了写博客,博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅,不用随身携带。
同时由于写博客是对外的,既然是对外的就不能随便写,任何人都可以看到。经验对于我来说那就只是经验而已,公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。
既然决定了要写博客,那就只能认真去写。不管写的好不好,尽力就行。千里之行始于足下,一步一个脚印,慢慢来
,写的多了慢慢也会变好的。权当是记录自己的成长的一个过程,等到以后再往回看时,就会发现自己以前原来这么菜😂。
本系列博客所述资料均来自互联网
,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法
。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。
RTMP简介
- 是流媒体协议。
- RTMP协议是 Adobe 的私有协议,未完全公开。
- RTMP协议一般传输的是 flv,f4v 格式流。
- RTMP一般在 TCP 1个通道上传输命令和数据。
详细资料:https://cloud.tencent.com/developer/article/1038381
graph TB
A(vedio)
B(audio)
A --> C(H.264)
B --> D(AAC)
C --> E(RTMP包)
D --> E
nginx简介
xxxxxxxxxxxxxxxxxxxxxxxx
安装与使用
安装
sudo apt-get install nginx # 安装Nginx
sudo apt-get install libnginx-mod-rtmp # 安装libnginx-mod-rtmp
sudo apt install ffmpeg --推流,拉流工具
配置nginx
vim /etc/nginx/nginx.conf #打开配置文件
set mouse=a #支持鼠标操作
rtmp {
server {
listen 1935; #rtmp server 缺省端口
chunk_size 4096; #d配置 RTMP 消息块 4096 字节
# 点播配置
application vod {
play /home/haska/videos; #video path
}
# 直播流配置
application live{
live on;
}
}
}
nginx常用指令
sudo service nginx reload #不重启重新载入最新配置文件内容
sudo service nginx stop #停止服务
sudo service nginx restart #重启服务
使用ffmpeg推流
推流指令
- 一次性推流
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.0.103:1935/live/test
该指令是推流一个文件,推结束后,就会停止,客户端拉流完成后也会结束。
- 添加参数循环推流
ffmpeg -re -stream_loop 1 -i test.mp4 -c copy -f flv rtmp://192.168.0.103:1935/live/test
- 使用脚本循环推流
for((;;)); do \
ffmpeg -re -i "H:\video.mp4" \
-c copy \
-f flv -y rtmp://10.100.1.4:1935/live/12345; \
sleep 1; \
done
指令详解
-re ffmpeg 默认打开文件以后,处理速度很快。为了让 ffmpeg 模拟本地设备,以流的速度处理,需要此选项。
-i 这是输入文件选项。
-c 这是推流的过程中,直接 copy 编码的 H264/AAC 流,避免解码、编码。
-f 这是输出格式,我们这里用 -f flv 标明需要通过 flv 格式推流。后面小节会单独讲解 AVC/AAC 如何打包 flv tag的。
使用VLC软件点播
点播
rtmp://192.168.0.103:1935/vod/test.mp4
测试过程中发现不能点播MP3文件,原因不明
直播
rtmp://192.168.0.103:1935/live/test
那么本篇博客就到此结束了,这里只是记录了一些我个人的学习笔记,其中存在大量我自己的理解。