视频与音频采集
走过_冬天
这个作者很懒,什么都没留下…
展开
-
V4L2学习笔记
最近在做类似于飞思卡尔的项目,要用到摄像头,摄像头接在一块树莓派上,但树莓派上跑的是Linux系统。因为对Linux并不熟悉,身边也没有比较熟悉Linux的朋友,几次想尝试最终都因为遇到大多问题找不原因放弃了。这次又开始学习Linux,同样遇到一堆的问题,但硬着头皮,一个一个的找资料解决。Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是lin原创 2016-06-17 18:29:26 · 4962 阅读 · 1 评论 -
ffmpeg播放器快进快退(七)
指导7:快进快退处理快进快退命令现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的。同时,这将告诉你av_seek_frame函数是多么容易使用。我们将在电影播放中使用左方向键和右方向键来表示向后和向前一小段,使用向上和向下键来表示向前和向后一大段。这里一小段是10秒,一大段是60秒。所以我们需要设置我们的主循环来捕捉键盘事件。然而当我们捕捉到键盘事件后我原创 2016-06-25 22:23:50 · 7875 阅读 · 1 评论 -
ffmpeg同步视频(五)
指导5:同步视频如何同步视频前面整个的一段时间,我们有了一个几乎无用的电影播放器。当然,它能播放视频,也能播放音频,但是它还不能被称为一部电影。那么我们还要做什么呢?PTS和DTS幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么就很有可能会失去同步。于是作为一种补充,在流中原创 2016-06-25 22:07:18 · 1582 阅读 · 1 评论 -
ffmpeg输出到屏幕(二)
原文链接(http://www.dranger.com/ffmpeg/)指导2:输出到屏幕SDL和视频为了在屏幕上显示,我们将使用SDL.SDL是Simple Direct Layer的缩写。它是一个出色的多媒体库,适用于多平台,并且被用在许多工程中。你可以从它的官方网站的网址 http://www.libsdl.org/上来得到这个库的源代码或者如果有可能的话你可以直接下载开发包到你的操作系统中。原创 2016-06-25 21:14:16 · 2511 阅读 · 0 评论 -
ffmpeg制作屏幕录像(一)
原文链接(http://www.dranger.com/ffmpeg/)指导1:制作屏幕录像 源代码:tutorial01.c 概要 电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连原创 2016-06-25 21:08:42 · 3184 阅读 · 0 评论 -
ffmpeg播放声音(三)
指导3:播放声音现在我们要来播放声音。SDL也为我们准备了输出声音的方法。函数SDL_OpenAudio()本身就是用来打开的。它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包含了我们将要输出的音频的所有信息。在我们展示如何建立之前,让我们先解释一下电脑是如何处理音频的。数字音频是由一长串的样本流组成的。每个样本表示声音波形中的一个值。声音按照一个特定的采样率来进行录制原创 2016-06-25 21:35:07 · 1121 阅读 · 0 评论 -
ffmpeg软件缩放(八)
ffmpeg软件缩放 指导8:软件缩放软件缩放库libswscale近来ffmpeg添加了新的接口:libswscale来处理图像缩放。但是在前面我们使用img_convert来把RGB转换成YUV12,我们现在使用新的接口。新接口更加标准和快速,而且我相信里面有了MMX优化代码。换句话说,它是做缩放更好的方式。我们将用来缩放的基本函数是sws_scale。但一开始,我们必需建立一个SwsCont原创 2016-06-25 22:28:11 · 989 阅读 · 0 评论 -
多个摄像头同步工作
因项目需要采集2个摄像头的数据进行双目检测,一开始采用以下代码来测试:#include "stdafx.h"#include <cv.h>#include <cxcore.h>#include <highgui.h>int main(int argc, _TCHAR* argv[]){ CvCapture* capture1 = cvCreateCameraCapture( 0 );转载 2015-08-31 15:16:02 · 2510 阅读 · 0 评论 -
OpenCV读写视频
前段时间在看到OpenCV第二章末尾的时候有一个从摄像机读入数据并写入AVI视频文件的例程(P32 例2-10)。#include <cv.h>#include <opencv2/highgui/highgui.hpp>const char g_inPath[] = "in.avi";const char g_outPath[] = "out.avi";int main(){ // 获原创 2016-01-13 15:45:31 · 1204 阅读 · 0 评论 -
ffmpeg视频帧处理(四)
指导4:视频帧处理这里没有什么新东西,除了我们给音频和视频队列限定了一个最大值并且我们添加一个检测读错误的函数。格式上下文里面有一个叫做pb的 ByteIOContext类型结构体。这个结构体是用来保存一些低级的文件信息。函数url_ferror用来检测结构体并发现是否有些读取文件错误。在循环以后,我们的代码是用等待其余的程序结束和提示我们已经结束的。这些代码是有益的,因为它指示出了如何驱动事件--原创 2016-06-25 21:53:20 · 9012 阅读 · 0 评论 -
如何基于FFMPEG和SDL写视频播放器
原文地址:http://www.dranger.com/ffmpeg/FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG几乎为你把所有的繁重工作都做了,比如解码、编码、复用和解复用。这使得多媒体应用程序变得容易编写。它是一个简单的,用C编写的,快速的并且能够解码几乎所有你能用到的格式,当然也包括编码多种格式。唯一的问题是它的文档基本上是没有的。有一个单独的指导讲了它的基转载 2016-06-25 21:01:57 · 816 阅读 · 0 评论 -
V4L2摄像头获取图片
昨天拷了一段以前写的在Windows下运行的摄像头录像代码,发现在Ubuntu14.04下这样写有问题:/****************************//*摄像头录像测试程序 *//****************************/#include <cv.h>#include <iostream>#include <opencv2/highgui/原创 2016-06-13 21:26:47 · 3374 阅读 · 0 评论 -
ffmpeg同步音频(六)
指导6:同步音频同步音频现在我们已经有了一个比较像样的播放器。所以让我们看一下还有哪些零碎的东西没处理。上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同步方式。我们将采用和视频一样的方式:做一个内部视频时钟来记录视频线程播放了多久,然后同步音频到上面去。后面我们也来看一下如何推而广之把音频和视频都同步到外部时钟。生成一个视频时钟现在我们要生成一个类似于上次我们的声音时钟的视频时钟:一原创 2016-06-25 22:18:05 · 2351 阅读 · 0 评论