一起来做实验之 ok6410之ffmpeg+ffserver实现流媒体传输
在网上看到一篇博文,想把这个实验搞出来,按照博文的指导来做,有好些东西不甚明朗,有正在一起搞的可以讨论一下,让我们一起提高,一起学习由于提交老是出现 权限不够,不能提交URL链接,博文稍后回复
本帖最后由 Miles 于 2014-10-21 21:30 编辑
为了尊重原作者,故全部复制过来:
但是不能发表URL链接,现将文中URL链接用<a>,<b>,<c>代替
发现好久没有写博客了,最近一直在纠结着sdio wifi的驱动,至此还没有完美的解决问题,虽然可以连接上网络,但是其传输速度之慢,让人难以接受。不过对于网络,不管是底层驱动,还是一些网络基础知识,路由器,服务器等等也学了不少东西了。更加深入学习后,可以分享学习过程。 期间,用6410来验证代码和sdio的硬件,还受高人指点,顺带玩了下ffmpeg+ffserver流媒体的传输。确实很不错。因为这条路通了之后,那么摄像头采集到数据,通过ffserver可以直接网络传输,然后client就可以收到其数据,那么网络监控也就可以通了。哈哈哈,下面还是把这个过程记录下来。有高手指导,这个确实花了一点点时间就搞定了。
首先当然就是下载ffmpeg了。git clone或者直接官网<a>下载都可以。,下载好了,那么首先就是配置下了。下面是我的配置:参照高手的,不用动态库,直接静态库,所以编译好以后可以直接拷贝一个应用程序就可以在ok6410上面跑了。
view plaincopy
./configure --disable-shared--enable-static --prefix=/home/eastmoon/ok6410/rootfs/ffmpg--cross-prefix=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux- --arch=arm--target-os=linux --enable-gpl --disable-bzlib --disable-zlib
这样编译后就有了ffmpeg和ffserver了,然后把这两个拷贝到ok6410的rootfs/bin下(我是用网络挂载nfs的),那么在开发板上就可以直接ffserver命令试试可不可以成功运行了。
既然可以运行这个程序,那么还是缺少一个ffserver.conf配置文件。在ffmpeg源码中的doc目录下就有这个了。主要拿来就可以用了。主要就是添加了下面这个,因为要播放本地的数据。然后把一个mpeg格式的源test1.mpeg和这个配置文件ffserver.conf一起放在rootfs/ffserver文件夹下。
view plaincopy
<Stream test2.mpg>
File /ffserver/test1.mpeg
Format mpeg
</Stream>
好了,一切准备就绪,那么接下来就是要开始连接测试下ffserver这个服务有没有运行了。在开发板上运行ffserver –f /ffserver/ffserver.conf
可以看到下面这个,
接着在pc机上就可以用浏览器打开了,因为我的板子的ip是192.168.5.120,ffserver启动配置里面的端口号是8090.所以在浏览器里面输入<b>就可以看到下面的网页,那就表示ffserver正常运行了。
既然ffserver正常了,那么接着去试试播放吧。
在pc机上用ffplay接可以尝试了(事先要装好)。
ffplay<c>
看到播放的视频了,也听到了声音。
这里只是简单的使用了ffmpeg,以后还是需要看看其源码,因为他是专门用来编解码的。所以,很多音视频都是可以从这里裁剪的。很好,很强大。等有时间得把摄像头搞进去。Wifi已经木有什么问题了。所以,搞定摄像头数据采集编码后剩下的就很简单了。
很纠结不能发表URL链接:
其中<a>:h t t p : / / f f m p e g . o r g /
<b>: h t t p : / / 1 9 2 . 1 6 8 . 5 . 1 2 0 : 8 0 9 0 / s t a t . h t m l
<c>:h t t p : / / 1 9 2 . 1 6 8 .5 . 1 2 0 : 8 0 9 0 / t e s t 2 . m p g 我现在呢,编译ffmpeg都没有问题了,但是文中说 把这两个拷贝到ok6410的rootfs/bin下 ,不知道具体是指开发板的哪个目录?
页:
[1]