zoukankan      html  css  js  c++  java
  • 和菜鸟一起学ok6410之ffmpeg+ffserver实现流媒体传输

           发现好久没有写博客了,最近一直在纠结着sdio wifi的驱动,至此还没有完美的解决问题,虽然可以连接上网络,但是其传输速度之慢,让人难以接受。不过对于网络,不管是底层驱动,还是一些网络基础知识,路由器,服务器等等也学了不少东西了。更加深入学习后,可以分享学习过程。

           期间,用6410来验证代码和sdio的硬件,还受高人指点,顺带玩了下ffmpeg+ffserver流媒体的传输。确实很不错。因为这条路通了之后,那么摄像头采集到数据,通过ffserver可以直接网络传输,然后client就可以收到其数据,那么网络监控也就可以通了。哈哈哈,下面还是把这个过程记录下来。有高手指导,这个确实花了一点点时间就搞定了。

           首先当然就是下载ffmpeg了。git clone或者直接官网http://ffmpeg.org/下载都可以。,下载好了,那么首先就是配置下了。下面是我的配置:参照高手的,不用动态库,直接静态库,所以编译好以后可以直接拷贝一个应用程序就可以在ok6410上面跑了。

    ./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文件夹下。

     

    <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已经木有什么问题了。所以,搞定摄像头数据采集编码后剩下的就很简单了。

  • 相关阅读:
    C#调用WebService
    在asp.net中Bind和Eval的区别详解
    详细说明WebService特性
    Remoting技术简介
    Web Service是如何工作的
    C#面试题
    创建一个简单的Web Service
    innerHTML属性导致未知的运行时错误ie bug
    一些想法:关于备份
    数据库考试中常见题分析:关系代数中的除法运算
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300033.html
Copyright © 2011-2022 走看看