
ffmpeg
文章平均质量分 65
倾我一生来读
一颗螺丝钉
展开
-
ffmpeg 4.3添加自定义demuxer
1 编译ffmpeg4.31.1 ffmpeg 4.3下载从国外git仓库下载ffmeg4.3源码速度比较慢,推荐使用国内gitee镜像下载。git clone https://gitee.com/mirrors/ffmpeg.git -b release/4.3 1.2 编译代码./configure --enable-shared --prefix=/home/zhy/code/mypc/ffmpeg4.3/ffmpeg/install_libmakemake install1.3原创 2022-03-06 21:49:35 · 3902 阅读 · 0 评论 -
QT、FFmpeg、SDL2视频播放器(二)
QT、FFmpeg、SDL2视频播放器(一)使用QT、FFmeg、SDL2实现了简单的视频播放控制,本篇在此基础上增加了视频播放进度显示、通过进度条seek功能。1 播放进度显示播放进度显示使用QT QSlider控件,更新进度条通过setValue实现。playSlider = new QSlider;playSlider ->setRange(0,1000); //设置进度条最小值和最大值(取值范围)playSlider ->setOrientation(Qt::Horizonta原创 2021-10-12 21:51:48 · 794 阅读 · 0 评论 -
QT、FFmpeg、SDL2视频播放器(一)
之前使用ffmpeg和sdl2制作过一个简单的视频播放器,视频的播放暂停完全是sdl event控制,现在希望将sdl嵌入到QT 窗口中,通过一系列qt按钮实现播放、暂停的控制。1 核心思想1 QT多线程因为视频解码过程消耗资源较多,必须单独开启一个线程来负责视频解码,主线程负责渲染以及控制,否则视频播放的过程中UI会卡住,无法响应用户事件。QT实现多线程有两种方法:第一种是创建一个线程,类继承QThread,并且重写run方法,主线程中创建线程对象,使用start()方法启动线程,该部分网络上资料原创 2021-10-10 13:01:08 · 3352 阅读 · 1 评论 -
ffmpeg av_read_frame函数解析
av_read_frame的作用是读取一帧视频数据或者读取多帧音频数据,读取的数据都是待解码的数据,该函数的流程如下所示:函数的源码如下所示:int av_read_frame(AVFormatContext *s, AVPacket *pkt){ const int genpts = s->flags & AVFMT_FLAG_GENPTS; int eof = 0; int ret; AVStream *st; //不自动生成时间戳,走此fl原创 2021-08-15 21:28:47 · 2642 阅读 · 0 评论 -
ubuntu18.04 FFmpeg4.3源码编译
1 拉取代码git clone https://github.com/FFmpeg/FFmpeg.git -b release/4.3 2 进入FFmpeg./configure --enable-shared3 编译源码make想要通过源码安装的话再执行:sudo make install编译后在目录中会生成一些可执行文件,如ffmpeg、ffplay、ffprobe等,可以直接运行,如:./ffplay ./movie1.mp4这样就实现一个视频播放了,还可以在fftool原创 2021-08-11 22:47:05 · 338 阅读 · 0 评论 -
ubuntu18.04 使用scrcpy将安卓手机投屏到电脑
最近看了关于手机投屏的功能,本来打算跑个miracast的demo玩玩,奈何电脑网卡不支持wifi direct,网上搜索发现有个开源的库scrcpy可以实现有线投屏,scrcpy项目github地址。安装方式可以选择apt的方式,也可以选择源码编译。我选择了源码编译,其中遇到了不少问题,现在记录一下。1 编译安装步骤1 下载源码git clone https://github.com/Genymobile/scrcpycd scrcpy./install_release.sh2 安装依赖原创 2021-07-24 23:08:00 · 2103 阅读 · 2 评论 -
FFmpeg和SDL2播放mp4
简单的看了下FFmpeg和SDL2的相关内容,想用ffmpeg和SDL2制作一个mp4播放器。网上找了好多例子,大多数只能播放video,不能播放audio,后来还是从一个大神的github里找到一份代码(大神的代码地址),可以实现音视频同步,代码有两个地方需要稍微修改一下,具体的实现思路可以参考大神的博客。现在把代码贴出来,让初学者可以找到一个可以跑起来的代码,增加后续的学习信心。SimplePlayer.c#include <stdio.h>#include <assert.h&原创 2021-07-18 10:56:03 · 778 阅读 · 0 评论 -
SDL播放PCM
最近在学习ffmpeg,想开发一个基于ffmpeg的播放器。后来发现ffmpeg只能进行解封装、解码操作,最终的sink需要借助SDL2来实现,所以先学习一下SDL2,用SDL2实现播放pcm的功能。标题SDL简介Simple DirectMedia Layer是一个跨平台开发库,旨在通过OpenGL和Direct3D提供对音频、键盘、鼠标、操纵杆和图形硬件的底层访问,SDL提供了数种控制图像、声音、输出入的函数,大大降低了音视频的开发难度,我们只需要将解码后的音视频数据交给SDL渲染,不必关心底层的实原创 2021-07-17 22:24:11 · 441 阅读 · 0 评论