FFmpeg
文章平均质量分 68
tkp2014
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FFmpeg解码封装为类以及Opencv显示播放
// 解码函数接口头文件//#ifndef __FFMPEG_DECODE_H__//#define __FFMPEG_DECODE_H__// Opencv#include #include #include #include extern "C"{#include "libavutil/avutil.h"#include "libavcodec/avcodec原创 2015-08-02 10:58:06 · 930 阅读 · 0 评论 -
FFmpeg解码多线程
FFMPEG多线程编码器一般以在Slice内分功能模块进行多线程编码,如h263,h263P,msmpeg(v1, v2, v3),wmv1。包含以下几个线程:(1)Pre_estimation_motion_thread运动估计前的准备;(2)Estimation_motion_thread运动估计;(3)Mb_var_thread宏块其他变量;(4)Encode_thread编码主线程。当然也转载 2015-06-25 22:55:18 · 831 阅读 · 0 评论 -
ffmpeg和Opencv结合进行视频解码播放
引子OpenCV中有自己的用于处理图片和视频的类VideoCapture,可以很方便的读入文件和显示。现在视频数据流是ffmpeg解码h264文件得到的,由于要依赖该数据源进行相应的后续处理,所以需要将ffmpeg中得到的数据缓存转换成可以被OpenCV处理的Mat类对象。ffmpeg介绍FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可转载 2015-06-25 21:43:25 · 2489 阅读 · 0 评论 -
使用ffmpeg实现解码并保存为yuv文件
通过ffmpeg实现解码并保存为yuv文件/*** 抽取ffmpeg中的函数接口实现视频解码并保存*/#define __STDC_CONSTANT_MACROS#include extern "C"{#include "libavutil/avutil.h"#include "libavcodec/avcodec.h"#include "libavforma原创 2015-06-26 16:14:27 · 2382 阅读 · 0 评论 -
FFmpeg(2.4.4)中关于图像格式的头文件 -- pixfmt.h
/* * copyright (c) 2006 Michael Niedermayer * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Pu原创 2015-06-26 16:32:06 · 6455 阅读 · 0 评论 -
FFmpeg解码-Opencv数据显示-双线程调度
大致想法是:使用ffmpeg实现解码,解码后的数据转化为 Mat,调用 opencv中的函数显示,同时开启两个线程解码显示两路视频/*** 抽取ffmpeg中的函数接口实现视频解码,再通过Opencv中的函数接口播放*/#define __STDC_CONSTANT_MACROS#include #include #include // Opencv#inclu原创 2015-06-26 18:11:38 · 976 阅读 · 0 评论 -
ffmpeg解码数据转为Mat通过opencv函数显示
/*** 抽取ffmpeg中的函数接口实现视频解码,再通过Opencv中的函数接口播放*/#define __STDC_CONSTANT_MACROS#include // Opencv#include #include #include #include extern "C"{#include "libavutil/avutil.h"#include "liba原创 2015-06-26 16:39:48 · 5629 阅读 · 1 评论 -
ffmpeg解码+opencv显示+时间测试
/*** 抽取ffmpeg中的函数接口实现视频解码,再通过Opencv中的函数接口播放*/#define _CRTDBG_MAP_ALLOC#include #define __STDC_CONSTANT_MACROS#include #include #include // Opencv#include #include #include #include #原创 2015-07-09 13:34:10 · 1175 阅读 · 0 评论 -
ffmpeg中tbc tbr tbn代表的含义
ffmpeg中 tbc tbr tbn的含义解释因为最近的工作需要从MP4视频中提取一些关键帧,要了解如何将视频的时间点转换为对应的帧号,所以查阅了一些关于视频编解码以及时间同步方式的资料。再此总结一下。首先是解码,利用FFmpeg解码得到的信息通常如下:Metadata: major_brand : isom minor_version转载 2015-07-09 23:53:57 · 2226 阅读 · 0 评论 -
使用Shader实现YUV到RGB的转换
网上有很多YUV到RGB的转化程序,不过他们基本上都是基于CPU进行计算,基于CPU计算大体上有一下的一些方法,最原始的肯定是根据转换公式直接进行浮点运算,要想提高速度,可以用左移和右移操作,将浮点运算变成整数运算,这样转化的速度会成倍的提高。另外还可以用查表法,因为YUV都是在0~255之间,他们总是有范围的,先生成一个很大的查找表,直接对每一个YUV分量查找出RGB值,当然这个查找表会很大,可转载 2015-07-12 23:26:02 · 2935 阅读 · 0 评论 -
FFmpeg + Opencv 解码和显示
利用FFmpeg开源编解码库实现解码,转换为Mat格式后,使用Opencv显示/*** 抽取ffmpeg中的函数接口实现视频解码* 再通过Opencv中的函数接口播放,同时开启两个视频进行操作*/#define __STDC_CONSTANT_MACROS#include #include #include // Opencv#include原创 2015-07-07 14:12:17 · 2013 阅读 · 0 评论 -
FFmpeg解码框架
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂。本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一些编解码部分,只有真正了解了多媒体处理的基本流程,研读ffmpeg源代码才能事半功倍。下面分析一下多媒体中最基本最核心的视频解码过程,平常我们从网上下载一部电影或者一首歌曲,那么相应的多媒体播放器转载 2015-01-02 21:53:18 · 615 阅读 · 0 评论 -
FFmpeg简介
认识FFmpegFFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器。因此,对于从事多媒体技术开发的工程师来说,深入研究FFMPEG成为一门必不可少的工作,可以这样说,FFMPEG之于多媒体开发工程师的重要性正如kernel之于嵌入式系统工程师一般。几个小知识:FFMPEG项目是由法国人转载 2016-04-09 21:37:39 · 1000 阅读 · 0 评论 -
Ubuntu14.04 + Eclipse + FFmpeg 调试ffmpeg源代码
参考连接:http://www.cnblogs.com/zdcaolei/archive/2012/05/03/2480259.htmlhttp://www.cnblogs.com/elesos/archive/2013/03/23/2977778.htmlhttp://trac.ffmpeg.org/wiki/CompilationGuide/Generichttp:原创 2016-07-27 16:43:03 · 1001 阅读 · 0 评论 -
FFmpeg框架
简介FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpe转载 2016-08-04 16:31:46 · 521 阅读 · 0 评论 -
FFmpeg中的重要数据结构
在正式开始解码练习前先了解下关于FFmpeg中比较重要的函数以及数据结构。1. 数据结构: (1) AVFormatContext AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数。FFmpeg代码中对这个数据结构的注释是:format I/O context 此结构包含了一个视频流的格式内容。其中存有了AVInputFormat(or转载 2016-08-06 23:10:04 · 669 阅读 · 0 评论 -
音视频同步记录
学习资源链接:链接1 链接2 链接3原创 2016-08-22 13:47:52 · 932 阅读 · 0 评论 -
ffmpeg用代码实现自己的muxer
1、概述本代码实现了一个muxer并加入到ffmpeg的AVOutputFormat 链表中去,使代码能直接调用。实现的意义一是了解ffmpeg代码结构,二是可以自己整自己的视频格式,让别人播放不了。2、代码简单看下代码:[cpp] view plain copy/* *本程序主要实现一个自己的muxer并加入到m转载 2016-09-01 11:25:43 · 1217 阅读 · 0 评论 -
FFmpeg中有关时间戳的函数
/* * Copyright (c) 2005-2012 Michael Niedermayer * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser Gener原创 2016-10-28 15:30:15 · 1078 阅读 · 0 评论 -
FFmpeg中的滤镜(filter)知识点记录
FFmpeg支持多种滤镜,查看全部滤镜$ ffmpeg -filters1、滤镜图、滤镜链、滤镜之间关系滤镜图(filtergraph):跟在 -vf 之后的就是一个滤镜图 滤镜链(filterchain):一个滤镜图包含多个滤镜链滤镜(filter):一个滤镜链包含多个滤镜概括来说就是:滤镜 ∈ 滤镜链 ∈ 滤镜图原创 2016-11-23 20:30:26 · 10436 阅读 · 0 评论 -
FFmpeg无法编译ffplay解决办法
新版本的ffmpeg3.3.2可以使用sdl2.0(1)安装sdl2下载sdl2源代码tar zxvf SDL2-2.0.5.tar.gzcd SDL2-2.0.5./configure --prefix=/usrmakesudo make install(2) 修改config.mak原创 2017-06-15 20:41:24 · 2167 阅读 · 0 评论 -
Using libav* (FFmpeg)
First some disambiguiation. there is a project called "libav" which is basically a fork of FFmpeg. There is also a library system that underlies FFmpeg itself, also called libav. This page is about原创 2018-01-18 19:23:07 · 639 阅读 · 0 评论 -
SDL2.0在Ubuntu14.04下的安装及测试
安装环境 系统 :Ubuntu 14.04方式:编译源代码的方式SDL版本:SDL2-2.0.3(下载)安装步骤(1)原创 2015-01-11 20:28:21 · 3813 阅读 · 0 评论 -
Windows7+64位+VS2010+FFmpeg的安装
。。。。原创 2014-12-01 10:49:49 · 586 阅读 · 0 评论 -
Windows平台编译ffmpeg
在开始这篇博文之前,我心里一直忐忑不安七上八下。因为从最初的安装编译环境开始一直到最终编译完成,这整个工程堪称规模宏大,而且路途中陷阱重重,稍不注意就有可能前功尽弃。在将从前编译出的库删掉之后,我心里甚至有些许怀疑自己还能不能再次成功编译出来。不过既然走到了这一步,就是爬,也得爬到终点!闲话到此,开始进入正题。Linux下编译FFmpeg之下载源文件并编译 http://www.linux转载 2014-12-01 16:39:49 · 794 阅读 · 0 评论 -
I P B 帧和DTS PTS的关系
基本概念I frame 帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数转载 2014-12-02 20:23:03 · 685 阅读 · 0 评论 -
FFmpeg+SDL视频播放(2)
SDL和视频为了在屏幕上显示,我们将使用SDL.SDL是Simple Direct Layer的缩写。它是一个出色的多媒体库,适用于多平台,并且被用在许多工程中。你可以从它的官方网站的网址 http://www.libsdl.org/上来得到这个库的源代码或者如果有可能的话你可以直接下载开发包到你的操作系统中。按照这个指导,你将需要编译这个库。(剩下的几个指导中也是一样)转载 2014-12-04 23:09:17 · 813 阅读 · 0 评论 -
FFmpeg+SDL视频播放(3)
如何同步视频前面整个的一段时间,我们有了一个几乎无用的电影播放器。当然,它能播放视频,也能播放音频,但是它还不能被称为一部电影。那么我们还要做什么呢?PTS和DTS幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么转载 2014-12-04 23:28:17 · 803 阅读 · 0 评论 -
FFmpeg+SDL视频播放(1)
概要电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连串的通过时间来串连的数据元素)。在流中的数据元素被称为帧Frame。每个流是由不同的编码器来编码生成的。编解码器描转载 2014-12-04 22:12:13 · 695 阅读 · 0 评论 -
FFmpeg+SDL视频播放(4)
创建线程综述前面我们利用SDL的音频函数实现了对音频解码和播放的支持,我们定义一个包含音频回调函数callbacks的线程函数,当我们需要音频的时候就使SDL启动这个线程。现在我们将要对视频播放做同样的事情,这样能使代码更容易模块化和协作,尤其有利于音视频同步,那么我们从哪里开始呢?首先注意到,我们的主函数需要做太多的事情:运行event循环,读packet,解码视频,转载 2014-12-04 23:23:28 · 647 阅读 · 0 评论 -
各种RGB格式转换
FFMPEG 实现的 YUV 、RGB各种图像原数据之间的转换(swscale)资源链接:http://blog.csdn.net/leixiaohua1020/article/details/14215391RGB之间互相转换资源链接:http://www.rosoo.net/a/200911/8023.html转载 2014-12-23 16:58:27 · 1227 阅读 · 0 评论 -
视频编解码基础概念
FFMPEG之视频编解码基础muxer/demuxermuxer是合并,将视频文件、音频文件和字幕文件合并为某一个视频格式。如,可将a.avi, a.mp3, a.srt用muxer合并为mkv格式的视频文件。demuxer是拆分这些文件的。container指包含数据的文件。容器的类型决定了信息存放的位置。例如AVI原创 2014-12-23 19:49:01 · 924 阅读 · 0 评论 -
FFmpeg -- 解码视频
ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料。可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快,有些API已经完全换掉了,导致dranger教程中的 代码已经无法编译,正好最近需要使用ffmpeg,于是就利用dranger的教程和代码,自己边学边记录,于是也就有了这个所谓的 New FFm转载 2014-12-23 20:22:32 · 666 阅读 · 0 评论 -
windows下使用MinGW+msys编译ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处。 FFmpeg是在Linux平台下开发的,但它同样可以在其它操作系统环境中编译运行,本文介绍的就是在windows下编译FFmpeg。一 编译准备 您最好新建一个目录专门用来保存以下下载的文件。1 下载 MinGW转载 2014-11-30 22:54:57 · 519 阅读 · 0 评论 -
Ubuntu14.04下安装ffmpeg
http://www.linuxidc.com/Linux/2014-11/109840.htm原创 2015-01-11 23:52:58 · 3083 阅读 · 0 评论 -
ffplay的快捷键以及选项
ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持。甚至连VLC不支持的一些流媒体都可以播放(比如说RTMP),但是它的缺点是其不是图形化界面的,必须通过键盘来操作。因此本文介绍一下它的快捷键以及选项。 快捷键 播放视音频文件的时候,可以通过下列按键控制视音频的播放按键作用转载 2014-12-24 16:37:18 · 709 阅读 · 0 评论 -
ffmpeg参数中文详细解释
a) 通用选项-L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持转载 2014-12-24 16:41:10 · 514 阅读 · 0 评论 -
FFmpeg和SDL教程之一(Making Screencaps)
原文网址:http://dranger.com/ffmpeg/tutorial01.html翻译 2014-12-04 23:34:28 · 766 阅读 · 0 评论 -
YV12、I420、YUV420P的区别
YV12和I420的区别一般来说,直接采集到的视频数据是RGB24的格式,RGB24一帧的大小 size=width×heigth×3 Bit,RGB32的size=width×heigth×4,如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Bit。在采集到RGB24数据后,需要对这个格式的数据进行第一次压缩。即将图像的颜色转载 2014-12-13 11:57:28 · 669 阅读 · 0 评论 -
FFmpeg和SDL教程之三(Playing Sound)
Audio现在我们开始加入声音,SDL也提供了输出声音的方法。SDL_OpenAudio() 函数可以自己打开音频设备。它需要一个 SDL_AudioSpec 结构体作为参数,该结构体包含了所有我们将要输出音频的信息。先讲一下音频是如何在计算机中处理的。数字音频包含着很长的采样流(long stream of samples)。每个采样代表着一个音波的值。声音被某些特定的采翻译 2014-12-14 15:43:33 · 945 阅读 · 0 评论
分享