通过ltib在根文件系统中增加mplayer和ffmpeg后,拟使用ffmpeg从摄像头(/dev/video0)采集视频。

刚开始使用了:

ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 test.avi

但是出现了错误:

Wrong time base (0)

后来根据网页

https://www.linuxquestions.org/questions/linux-hardware-18/v4l-v4l2-setup-for-ffmpeg-533603/的建议,改成了:

ffmpeg -f video4linux2 -s 320x240 -r 60000/1001 -i /dev/video0 test.avi

之后就能采集了,根据ffmpeg的man page得知-r参数的含义是:

-r rate             set frame rate (Hz value, fraction or abbreviation)

因为ffserver在执行时会出现

bind(port 8090): Address family not supported by protocol

查了一下,是我所使用的ffmpeg版本bug

解决方式是

https://bugs.launchpad.net/ubuntu/+source/libav/+bug/879018

要特别注意,ltib在生成可执行文件过程中是通过litb编译时的rpm包生成的,所以为了使我们的修改生效,需要我们自行编译生成ffserver可执行文件。通过测试,尽量不要通过rpmbuild -bb ffmpeg.spec的方式,因为这个脚本应该是依赖于某个其他文件,如果通过rpmbuild编译,将生成错误的可执行文件。我们找到/opt/freescale/pkgs/ffmpeg-20080916.tar.bz2解压后手动编译,configure命令参考ffmpeg.spec文件,

./configure --cc=arm-linux-gcc --arch=arm --disable-altivec --disable-mmx --disable-mmx2 --enable-cross-compile --prefix=arm-linux-

然后需要修改config.mak文件的STRIP=arm-linux-strip否则会出现下文错误:

出现如下错误,通常是因为makefile中的STRIP变量设置不对,应该改成arm-linux-strip

strip: Unable to recognise the format of the input file `ffmpeg'

OKMX6Q ffmpeg & ffserver的更多相关文章

  1. ffmpeg+ffserver搭建流媒体服务器

    http://blog.chinaunix.net/uid-9688646-id-3399113.html ffmpeg和ffserver配合使用可以实现实时的流媒体服务.   一.理解 里边主要有如 ...

  2. FFmpeg+FFserver流媒体服务器介绍

    ffmpeg和ffserver配合使用可以实现实时的流媒体服务.   一.理解 里边主要有如下四个东西,搞清楚他们之间的关系就差不多明白了. 1. ffmpeg   2. ffserver   3. ...

  3. ffmpeg开发指南

    FFmpeg是一个集录制.转换.音/视频编码解码功能为一体的完整的开源解决方案.FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用.FFmpeg支持MPEG.DivX.M ...

  4. ffmpeg与TS

    http://blog.csdn.net/shuyong1999/article/details/7176329 一个不错的音视频博客 0. 简介 FFmpeg是一个集录制.转换.音/视频编码解码功能 ...

  5. FFmpeg在Linux下搭建 ***

    今天介绍下FFmpeg在Linux下安装编译过程,总体过程比较顺利,就是在ffmpeg等的时间稍长点,仅当记录. 关于FFmpeg FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采 ...

  6. RTSP 流相关工具介绍

    RTSP (Real Time Streaming Protocol),实时流协议,是一种应用层协议,专为流媒体使用.本文将介绍 GStreamer, VLC, FFmpeg 这几个工具,如何发送.接 ...

  7. ffmpeg编译参数详解

    Usage: configure [options]用 法:configure [选项]Options: [defaults in brackets after descriptions]选   项: ...

  8. FFMPEG ./configure 参数及意义

    FFMPEG版本:2.6.2,编译环境:ubuntu 14.4. 不同版本的FFMPEG参数可能不同,可在FFMPEG目录下使用以下命令查看 ./configure --help --help pri ...

  9. [FFmpeg] ffmpeg参数详解

    ffmpeg 参数语法 ffmpeg [[options][`-i' input_file]]... {[options] output_file}... 如果没有输入文件,那么视音频捕捉就会起作用. ...

随机推荐

  1. c#中不同类中变量的引用方法

    (1)如果两个类没有继承关系,存取另一个类中变量的方法如下: public class A { // 注意: // Count是静态变量(static),称为类变量.类变量无需实例化即可使用 publ ...

  2. 使用performance monitor 查看 每一个cpu core的cpu time

    使用performance monitor 查看 每一个cpu core的cpu time: 打开performance monitor,添加 counter 如下 运行一段cpu bound 的代码 ...

  3. sql server 权限

    -----是否存在有效的登录账号:是否被禁用,sql login还有:密码是否过期,是否被锁定 select is_disabled, loginproperty(name,'Isexpired') ...

  4. 安装Django时报错'module' object has no attribute 'lru_cache'

    使用pip方法安装Django时报错'module' object has no attribute 'lru_cache' 解决办法如下 命令行输入命令sudo pip install Django ...

  5. iOS微信运动 刷分

    修改 iOS微信运动的数据  很简单,这里记录下实现步骤. 首先要安装Theos,具体安装步骤就不说了.网上很多. 大体安装步骤: sudo brew install dpkg sudo brew i ...

  6. JS ajaxfileUpload 一次性上传多个input控件 上传多个文件

    本方法适用于一次性上传多个input框输入的文件,如下图所示,任务是需要一次上传两个input框提供的两个文件. 具体方法: 1.修改ajax调用方法 如上图所示,只需要将ajaxFileUpload ...

  7. Linux 监测命令

    1.  ps  -ef -e显示所有进程:-f 显示完整格式的输出: 2.  ps  -l -l 显示一个长列表 3.  ps  -efH -H 用层级格式显示进程(树状) [ps 命令:显示某个特定 ...

  8. MongoDb 快速入门教程

    文章首发于[博客园-陈树义],点击跳转到原文MongoDb 快速入门教程. MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的 ...

  9. 【JavaScript运算符与表达式】

    一.表达式 1.原始表达式:2.14,"test",true/false,null--复合表达式:10*20-- 2.数组.对象的初始化表达式:new Array(1,2),[1, ...

  10. deeplearning.ai 人工智能行业大师访谈 林元庆 听课笔记

    1. 读博士之前,林元庆是学光学,他自认为数学基础非常好.在宾夕法尼亚大学上课认识了他的博士导师Dan Lee,转学机器学习.他从头开始学了很多算法,甚至PCA,之前他完全不知道这些,他觉得非常兴奋, ...