FFMPEG
文章平均质量分 65
li_wen01
liwen01
展开
-
FFMPEG: [h264_nvenc @ 0x2018080] Cannot load libcuda.so.1 问题解析
在linux 平台做FFMPEG视频编码的程序时,程序运行时提示错误:[h264_nvenc @ 0x2018080] Cannot load libcuda.so.1 。对于这个问题,直接查看是因为因为cuda 买有安装,也就GPU视频硬件加速的库没有安装。实际上是因为没有安装编码库的原因。 在默然配置情况下安装的FFMPEG 库是没有包含编码库的。要解决[h264_nvenc ............原创 2018-04-24 11:09:58 · 10511 阅读 · 3 评论 -
linux下QT开发FFMPEG SDL2环境搭建及测试
说明:开发环境和安装软件版本如下:linux: Ubuntu16.04FFMPEG: ffmpeg-4.1.3SDL: SDL2-2.0.9lame: lame-3.100x264: x264-snapshot-20190610-2245QT: qt-opensource-linux-x64-5.9.0.runQT:优良的跨平台特性:支持 Windows,Linux,iOS、Andro...............原创 2019-06-12 16:07:11 · 4184 阅读 · 1 评论 -
linux FFMPEG 完整安装
现在最新的FFMPEG 他自带有音频和视频解码的库,可能是因为版权的一些问题,它没有自带编码音频和视频的库,另外,如果需要使用ffplay 进行视频播放,还需要安装SDL。下面介绍在linux 下,以H264 和 MP3 视音频编码 SDL显示为例的安装。 1、下载最新的安装代码。 LAME 音频编码:http://lame.sourceforge.net/do...原创 2018-04-24 11:09:23 · 17981 阅读 · 1 评论 -
FFMPEG学习记录及总结
FFMPEG是一套非常强大的软件,他主要提供音视频格式转换,图像拉升,添加水印,视频截图等功能。关于FFMPEG的学习资料非常的多,以雷神为主的博客非常详细介绍了FFMPEG的使用和具体实现。但是雷神的博客多以Windows平台开发,对于我等初学者,能做的就是把他们应用到linux平台。还有就是FFMPEG版本更新的比较快,在新的版本中,出现了一些新的接口,同时对于旧板的一些接口则不再支持...原创 2018-04-24 11:15:10 · 1390 阅读 · 1 评论 -
FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)
FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字符,然后从终端输出。我在该实例的基础上稍微的做了修改,使它能够保存滤镜处理过后的文件。在上代码之前先明白几个概念: Filter:代表单个filter FilterPad:代表一个filter的输入或输出端口,每个filter都可以有多个输入和多个输出,只有输出pad的filter称为source原创 2017-03-16 21:40:14 · 11009 阅读 · 5 评论 -
FFMPEG(一) 从V4L2捕获摄像头数据
系列相关博文: FFMPEG(一) 从V4L2捕获摄像头数据 FFMPEG(二) v4l2 数据格式装换 FFMPEG(三) v4l2 数据编码H264 最近在学习FFMPEG,发现网上的很多例子都是基于读文件的。直接从摄像头中读取数据的却很少。之前写过通过v4l2采集摄像头数据然后调用x264编码成视频文件的例子。...原创 2018-04-24 11:09:51 · 15739 阅读 · 5 评论 -
FFMPEG(三) v4l2 数据编码H264
系列相关博文: FFMPEG(一) 从V4L2捕获摄像头数据 FFMPEG(二) v4l2 数据格式装换 FFMPEG(三) v4l2 数据编码H264 前面已经介绍了linux 系统 使用FFMPEG 库通过V4L2采集摄像头数据,并且输出不同的数据格式,接下来需要处理的就是将采集到的数据进行压缩编码。H264是现............原创 2018-04-24 11:11:10 · 9265 阅读 · 15 评论 -
FFMPEG(二) v4l2 数据格式装换
系列相关博文: FFMPEG(一) 从V4L2捕获摄像头数据 FFMPEG(二) v4l2 数据格式装换 FFMPEG(三) v4l2 数据编码H264 在linux系统中,摄像头数据通过v4l2采集,由于摄像头的不同,摄像头所输出的数据格式各有不同。而在进行数据编码的时候,我们一般使用平面分布而不使用交叉分布。以Y...原创 2018-04-24 11:11:02 · 6202 阅读 · 3 评论 -
FFMPEG 图像拉伸缩放及数据格式转换
在做摄像头数据采集处理的时候,经常会遇到摄像头输入数据格式的不同,导致编码的时候需要再进行一次数据装换。在X264的编码中,是需要将YUV的Y,U,V 三个分量的数据独立出来。遇到一些YUV交叉分布的数据就比较的麻烦,需要自己设计算法对数据进行分离。但是在FFMPEG中,它就已经包含了图像格式转换的接口,同时它还带有图像拉伸缩放的功能。下面代码实现了任意数据格式的转换和任意尺寸的缩放。/*...原创 2018-04-24 11:10:40 · 10323 阅读 · 1 评论 -
linux 平台最简FFMPEG 程序
最近在学习FFMPEG,看了很多的例子都是在Windows下的,这里提供一个linux下的一个简单程序,由雷神的工程修改而来。#include <stdio.h>#define __STDC_CONSTANT_MACROS#include "avformat.h"#include "avcodec.h"#include "swscale.h"int main(int.........原创 2018-04-24 11:09:37 · 3503 阅读 · 1 评论 -
FFMPEG deprecated 属性与is deprecated [-Wdeprecated-declarations] 警告
阅读ffmpeg源码是 发现一些函数前面加了 attribute_deprecated 属性;如:attribute_deprecated int url_fopen( AVIOContext **s, const char *url, int flags);在libavutil/attributes.h 中有如下定义: 83 #ifndef attribute_deprec转载 2017-03-13 11:26:36 · 12572 阅读 · 0 评论 -
FFMPEG 编码YUYV 数据
看了雷神的博客《最简单的基于FFMPEG的视频编码器(YUV编码为H.264)》,它介绍的是使用FFMPEG将YUV420 数据编码成H.264数据。在它的博客中,没有介绍到YUYV数据格式的编码,但是我们在实际应用中,有时候摄像头只能输出YUYV数据格式,这样他的工程就不能使用了。经过一通折腾,终于在他的基础上实现了使用FFMPEG将YUYV编码成H264数据。 因为YUYV数据是.........原创 2018-04-24 11:10:06 · 4877 阅读 · 3 评论 -
FFmpeg内存操作(三)内存转码器
相关博客列表 : FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 本文代码来自于自雷霄骅的《最简单的基于FFmpeg的内存读写的例子:内存转码器》/** * This software convert video bitstrea...原创 2018-04-24 11:10:20 · 3365 阅读 · 1 评论 -
FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析
在FFMPEG的官方例程中,有个avio_reading.c 的文件,他的主要功能是将音视频文件读取到内存,如果FFMPEG需要使用输入文件的数据,则直接从内存中调用。初学FFMPEG,给avio_reading.c 文件做了一个注释,如果不对,欢迎指正。/* * Copyright (c) 2014 Stefano Sabatini * * Permission is hereby g原创 2017-03-20 20:02:29 · 6457 阅读 · 1 评论 -
FFMPEG内存操作(二)从内存中读取数及数据格式的转换
相关博客列表:FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 在雷神的《最简单的基于FFmpeg的内存读写例子(内存播放器)》中,它是设计回调函数从输入文件中读取数据。与FFMPEG 官方给出的avio_reading.c不同的是,雷...原创 2018-04-24 11:10:14 · 7377 阅读 · 1 评论 -
linux下QT,FFMPEG, SDL2制作简易播放器
在Ubuntu环境下使用QT做界面,ffmpeg解码视频,SDL播放音乐,制作一个简易的视频播放器。该视频播放器的主要运行三条线程,需要两条队列:线程1(音视频数据分离):使用FFMPEG分解视频文件,将视频数据存入到视频队列中,将音频数据存入到音频队列中。线程2(视频解码):从视频队列中获取一包视频数据,通过FFMPEG解码该包视频数据,解码后再将视频转换为RGB数据,最后通过QT的.....................原创 2019-06-15 23:30:14 · 3288 阅读 · 7 评论