36.FFmpeg+OpenCV直播推流(搭建crtmpserver服务器并使用ffmepg,vlc测试推流播放)

简介: 开发环境 Ubuntu 16 64位+Windows10 开发过程 1.登录Ubuntu切换到root用户(减少权限问题),执行以下命令 apt update 它的作用是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
开发环境

Ubuntu 16 64位+Windows10

开发过程

1.登录Ubuntu切换到root用户(减少权限问题),执行以下命令

apt update

它的作用是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。它只是更新了apt的资源列表,没有真正的对系统执行更新。如果需要,要使用apt-get upgrade来更新

2.源更新之后,开始下载crtmpserver

wget https://codeload.github.com/j0sh/crtmpserver/zip/centosinit

下载完成后,在目录下可以看到如下

root@ubuntu:~# ls
centosinit

3.我们需要openssh网络协议的支持,执行以下命令下载libssl-dev

apt install libssl-dev

libssl-dev是OpenSSL通用库。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。
4.然后我们需要解压crtspserver,解压需要使用unzip,如果没有安装,就先安装

apt install unzip
unzip crtmpserver

5.解压成功之后进入crtmpserver的以下目录中

root@ubuntu:~/crtmpserver-centosinit/builders/cmake# ls
androidapplestreaming  CMakeFiles           common               lua              run      toolchain-sourcery_g++_lite.cmake  vmtests
applications           cmake_find_modules   crtmpserver          Makefile         tests    trafficdissector
cleanup.sh             cmake_install.cmake  debianpackage.patch  package.sh       thelib   vg.sh
CMakeCache.txt         CMakeLists.txt       ltib                 precompiled.gch  tinyxml  vm

执行命令

cmake .

命令执行成功的前提是g++已经被安装,如果没有,则会提示错误,通过以下命令安装

apt install g++

6.cmake .命令执行完之后,在同样的目录下执行make命令

make

make的执行基于CMakeLists文件的存在,所以,这也是需要在这个目录下执行的原因
7.make编译完成之后,我们就可以开启crtmpserver服务器了,执行下边的命令

./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua

执行后可以看到服务器已经开启的画面
crtmpserver服务器开启.png
此时服务器已经进入了接收推流的状态
8.接下来,我们使用ffmpeg命令行推流试试

ffmpeg -i path(视频文件地址) -f flv rtmp://192.168.1.1:1932/live/test

-i 指定视频路径
-f 执行格式,推流使用flv,及时你的是mp4,你也不能使用-f mp4
192.168.1.1是你Ubuntu的ip地址,1932是crtmpserver的端口号,可以从上边的图上看到

执行后,我们打开vlc播放器将这个地址输入到这里,点击媒体->打开网络串流
打开网络串流.png
输入这个地址,可以看到视频正常播放了
9.可能存在的几个问题
a.视频非常模糊

因为ffmepg对视频编码进行了处理,我们将推流的命令改为
ffmpeg -i  文件 -f flv -c copy rtmp:.....

可以看到清晰了很多,这是因为做了直接copy处理
b.你的视频地址输入vlc中,没有播放

如果此时服务器正常,推流也正常的情况下,这种情况,可能是推流已经结束了,所以要看到视频需要保证你接收推流的时间一定要在推流没有结束之前进行,也就是看你手速了,短视频很快就推完了
相关文章
|
19天前
|
计算机视觉 数据格式
使用opencv在Qt控件上播放mp4文件
使用opencv在Qt控件上播放mp4文件
24 2
|
2月前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
41 2
|
2月前
|
存储 弹性计算 运维
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格
阿里云服务器ECS经济型e实例详细介绍_性能测试和租用价格,阿里云服务器ECS推出经济型e系列,经济型e实例是阿里云面向个人开发者、学生、小微企业,在中小型网站建设、开发测试、轻量级应用等场景推出的全新入门级云服务器,CPU采用Intel Xeon Platinum架构处理器,支持1:1、1:2、1:4多种处理器内存配比,e系列性价比优选
|
1月前
|
弹性计算 缓存 测试技术
阿里云2核4g服务器(费用价格/性能测试/支持人数)
阿里云2核4g服务器能支持多少人访问?2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
1月前
|
弹性计算 缓存 测试技术
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试
2核4g服务器能支持多少人访问?阿里云2核4G服务器并发数测试,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
2月前
|
存储 负载均衡 监控
epoll服务器百万并发测试
epoll服务器百万并发测试
31 1
|
2月前
|
弹性计算 数据中心
阿里云香港服务器详细介绍_BGP多线精品测试_CN2高速网络
阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云百科来详细介绍阿里云香港云服务器
|
2月前
|
弹性计算 测试技术 数据中心
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试
阿里云香港服务器BGP多线精品网络_CN2性能测试_中国香港主机测试,阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量
|
3月前
|
SQL 安全 测试技术
项目迁移到云服务器,如何做迁移测试?
项目迁移到云服务器,如何做迁移测试?
|
3月前
|
SQL 测试技术 API
服务器端测试
服务器端测试
服务器端测试

热门文章

最新文章