和菜鸟一起学ok6410之ffmpeg+ffserver实现流媒体传输
2014-03-05 15:34
417 查看
和菜鸟一起学ok6410之ffmpeg+ffserver实现流媒体传输
分类:OK6410(arm11) 2012-12-12 14:57
1695人阅读 评论(1)
收藏
举报
发现好久没有写博客了,最近一直在纠结着sdio wifi的驱动,至此还没有完美的解决问题,虽然可以连接上网络,但是其传输速度之慢,让人难以接受。不过对于网络,不管是底层驱动,还是一些网络基础知识,路由器,服务器等等也学了不少东西了。更加深入学习后,可以分享学习过程。
期间,用6410来验证代码和sdio的硬件,还受高人指点,顺带玩了下ffmpeg+ffserver流媒体的传输。确实很不错。因为这条路通了之后,那么摄像头采集到数据,通过ffserver可以直接网络传输,然后client就可以收到其数据,那么网络监控也就可以通了。哈哈哈,下面还是把这个过程记录下来。有高手指导,这个确实花了一点点时间就搞定了。
首先当然就是下载ffmpeg了。git clone或者直接官网http://ffmpeg.org/下载都可以。,下载好了,那么首先就是配置下了。下面是我的配置:参照高手的,不用动态库,直接静态库,所以编译好以后可以直接拷贝一个应用程序就可以在ok6410上面跑了。
[html]
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文件夹下。
[html]
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.所以在浏览器里面输入:
http://192.168.5.120:8090/stat.html就可以看到下面的网页,那就表示ffserver正常运行了。
既然ffserver正常了,那么接着去试试播放吧。
在pc机上用ffplay接可以尝试了(事先要装好)。
ffplay http://192.168.5.120:8090/test2.mpg。
看到播放的视频了,也听到了声音。
这里只是简单的使用了ffmpeg,以后还是需要看看其源码,因为他是专门用来编解码的。所以,很多音视频都是可以从这里裁剪的。很好,很强大。等有时间得把摄像头搞进去。Wifi已经木有什么问题了。所以,搞定摄像头数据采集编码后剩下的就很简单了。
相关文章推荐
- HttpWatch使用教程
- Windows Phone开发(11):常用控件(下)
- c#中 间隔两个小时执行一次
- (转)C++ 虚函数表解析
- Spring 简单而强大的事务管理功能
- Eclipse下安装Axis2插件
- IOS 第三方库介绍
- Linux下Fork与Exec使用
- CSDN改变
- Windows Phone开发(10):常用控件(上)
- android 面试知识个人积累1
- Java泛型简明教程
- Android .9图
- javac: command not found
- Spring -- aop(面向切面编程),前置&后置&环绕&抛异常通知,引入通知,自动代理
- Error处理:Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException.
- AllJoyn高层系统架构
- Windows Phone开发(9):关于页面状态
- Panorama和Pivot的区别
- Spring -- aop(面向切面编程),前置&后置&环绕&抛异常通知,引入通知,自动代理