一,安装Ffmpeg音视频编解码工具
1,简介
Ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。各库介绍如下:
- libavutil 是一个包含简化编程函数的库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等等。
- libavcodec 是一个包含音频/视频编解码器和编码器的库。
- libavformat 是一个包含多媒体容器格式demuxer和muxer的库。
- libavdevice 是一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架抓取和呈现,包括Video4Linux、Video4Linux2、VfW和ALSA。
- libavfilter 是一个包含媒体过滤器的库。
- libswscale 是一个执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
- **libswresample **是一个执行高度优化的音频重采样,重矩阵和样本格式转换操作的库。
2,开发文档
总共是配套三个工具,功能介绍如下所示,点击相应工具可以查看开发文档:
- Ffmpeg 是一个用于操作、转换和流媒体内容的命令行工具箱。
- Ffplay 是一个极简的多媒体播放器。
- Ffprobe 是一个用于检查多媒体内容的简单分析工具。
3,安装部署
1.Windows平台安装包下载地址Download FFmpeg
2.然后跳转到Releases · BtbN/FFmpeg-Builds · GitHub
3.下载完成后解压缩后将bin和doc拷贝到D:\Program Files\ffmpeg目录下,然后添加ffmpeg的环境变量(doc目录下是使用手册)
4.打开cmd,运行ffmpeg -version,显示如下说明成功
二,搭建EasyDarwin开源流媒体服务器
1,简介
EasyDarwin是基于go语言研发,维护和优化的一个高性能开源RTSP流媒体服务器,能够帮助流媒体开发者和创业型企业快速构建流媒体服务平台,更快,更简单的实现最新的移动互联网流媒体直播和点播,同步音频和视频的传输,源码下载地址:EasyDarwin | github
2,主要功能特点
- 基于Golang开发维护;
- 支持Windows、Linux、macOS平台;
- 支持RTSP推流分发(推模式转发);
- 支持RTSP拉流分发(拉模式转发);
- 服务端录像 参考: EasyDarwinGo录像功能发布 | CSDN
- 服务端录像检索与回放 参考: EasyDarwinGo录像功能发布 | CSDN
- 关键帧缓存;
- 秒开画面;
- Web后台管理;
- 分布式负载均衡;
3,安装部署
- 下载解压 release 包 | github
- 直接运行(Windows)- EasyDarwin.exe- 以
Ctrl + C
停止服务 - 以服务启动(Windows)- ServiceInstall-EasyDarwin.exe- 以 ServiceUninstall-EasyDarwin.exe 卸载 EasyDarwin 服务
- 直接运行(Linux/macOS)
cd EasyDarwin ./easydarwin # Ctrl + C
- 以服务启动(Linux/macOS)
cd EasyDarwin ./start.sh # ./stop.sh
- 查看界面- 打开浏览器输入 http://localhost:10008, 进入控制页面,默认用户名密码是admin/admin
- 测试推流- ffmpeg -re -i "你电脑上某个视频的绝对路径" -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://localhost/testPushStream- ffmpeg -re -i "你电脑上某个视频的绝对路径" -rtsp_transport udp -vcodec h264 -f rtsp rtsp://localhost/testPushStream
- 测试播放-
方式1:ffplay -rtsp_transport tcp rtsp://localhost/testPushStream
-方式2:ffplay rtsp://localhost/testPushStream
4,效果图
三,简单测试
1.新建一个 demo.bat 的文件,添加内容为:ffmpeg -f gdigrab -i desktop -vcodec mpeg4 -acodec libmp3ame -r 30 -vf scale=1028*720 -f rtsp rtsp://localhost:554/desktopVideo
2.然后点击程序即可运行,会把当前桌面推流到EasyDarwin流媒体服务器上
3.最后进行拉流,在cmd中运行 ffplay rtsp://localhost/desktopVideo 进行拉流,是不是有种直播效果(注意推流列表的播放地址一样)
版权归原作者 拉伊卜 所有, 如有侵权,请联系我们删除。