海思开发板FFmpeg+Nginx推流RTSP播放(优秀教程收集+实操整理)
安装FFmpeg及移植
FFmpeg是一款功能强大的集合库,能够编辑视频,能够截取图片,也可生成git图片,简直不要太好用。这里就简单介绍一下这个库的其中一个用的比较多的功能–推流。
我的配置是: 开发板拉取摄像头流,推到winodows的Nginx服务器,然后用Ubuntu 的FFplay进行播放,若你的配置方案和我的不一样,下面也整理了对应完整例程供参考。一起交流学习~
一般而言,对于大部分的linux的库的源码方式安装,都离不开几个步骤:
1.通过官网下载源码/其他途径获取源码
2.解压 tar -zxvf xxx.tar.gz / tar -jxvf xxx.tar.bz2
3.编写简单脚本 main.sh 调用configure (不用命令行慢慢输入,好配置编译选项)
4.编译 make
5.安装 make install(安装进你指定的目录)
6.编译生成文件夹下的/bin放进开发板的/bin 。/lib放进/lib
PS:想指明第三方库所在路径,有四种方法:,
1,在 /etc/ld.so.conf 文件中添加库的搜索路径。将库文件的绝对路径/lib直接写进去就OK。
2,丢到编译器的默认搜索路径。使用arm-前缀-gcc -print-file-name=xxx.so来找到默认路径
3,在configure阶段,添加-LDFLAG增加编译选项给编译器直接增加搜索路径
4,指定搜索路径export LD_LIBRARY_PATH=/yourdir/:$LD_LIBRARY_PATH,或添加xx.pc文件的路径export PKG_CONFIG_PATH=/xxx:$PKG_CONFIG_PATH如果你移动了lib库文件,对应的xx.pc(若有)也要同步更新
这个xxx.pc 相当于库的说明文件,声明lib和include文件放在哪个目录。
这样pkg-config命令才能找到这些依赖库。
(比如你已经把语句--with--xxx=DIR 添加进sh脚本,但是configure总是说找不到,
就export PKG_CONFIG_PATH=.....$PKG_CONFIG_PATH 把那个依赖库的/lib/pkgconfig/xxx.pc 文件路径添加进去)
步骤2里还是不行的话分两种情况处理:
【如果没有生成Makefile】,就把对应库文件INCLUDE 和lib,放到你gcc编译器使用的lib目录。
交叉编译器的lib目录可能要费点心思,根据常用库看看在哪里,如线程库find ./ -name "libpthread*"。
普通的桌面gcc目录就去/usr/include
【生成了Makefile就好办】,直接根据提示的错误找到Makefile文件的对应行,在对应语句后面增加搜索路径 -L/xx/xxx/lib -lxx(库名字)
1.通过官网下载源码/其他途径获取源码
xvid、x264、ffmpeg源码下载及编译
官方的ffmpeg源码下载z<

本文介绍了如何在海思开发板上使用FFmpeg推流并结合Nginx实现RTSP播放。涉及FFmpeg的安装、配置以及移植过程,包括静态库编译、第三方库路径设置等。还提到了Nginx在Windows和Ubuntu上的安装,并分享了遇到的编译问题如‘cbrt’声明冲突和srt库找不到的解决方案。最后,展示了推流和拉流播放的命令。
最低0.47元/天 解锁文章
1508





