随笔分类 -  音视频技术应用

1
总结音视频学习当中遇到的一些技术问题
摘要:上一节音视频技术应用(19)- 封装视频的步骤演示了如何去封装一个视频文件,但是上一节的例子举得不够好,基本相当于是从源视频中读取音视频帧,然后再拷贝到新的视频文件里,现实生活中遇到这种场景可能就直接去拷贝文件了,不会做这么多的操作,现实生活中遇到得比较多的场景应该是截取视频和封装格式转换这些,前者 阅读全文
posted @ 2022-03-08 22:01 夜行过客 阅读(392) 评论(0) 推荐(1) 编辑
摘要:一. 创建上下文 1.1 概述 解封装是直接调用avformat_open_input()函数就生成了一个上下文,但是封装却需要创建一个上下文。因为有这样一个区别,在解封装过程中,上下文中有很多信息是由FFmpeg的接口填入的,但是如果是封装的话,很多信息需要我们自己填入(毕竟FFmpeg不知道你最 阅读全文
posted @ 2022-01-25 18:09 夜行过客 阅读(1453) 评论(1) 推荐(1) 编辑
摘要:一. 概述 用于将视频移动到指定的关键帧位置。 二. 函数说明 /** * 移动视频到指定的关键帧位置 * * @param s 输入媒体的上下文 * @param stream_index seek的流索引。就是seek时究竟是以音频流索引还是以视频流索引为基准进行seek * @param ti 阅读全文
posted @ 2022-01-13 00:52 夜行过客 阅读(1838) 评论(0) 推荐(1) 编辑
摘要:实现了使用DXVA2 进行硬件加速,并且使用SDL渲染h264格式的视频, 视频大小为400x300。 一. 示例Code test_decode_view_hw.cpp #include <iostream> #include <fstream> #include <string> #includ 阅读全文
posted @ 2021-12-30 01:22 夜行过客 阅读(1190) 评论(0) 推荐(0) 编辑
摘要:有时候需要根据实际情况对x264编码器进行实际的调节,以达到编码速度和视频质量的平衡,FFmpeg提供了一系列参数方便我们直接去设定: 1. preset 参数 主要用于调节编码速度和质量的平衡,其可选参数如下: ultrafast、superfast、veryfast、faster、fast、me 阅读全文
posted @ 2021-12-14 23:38 夜行过客 阅读(1238) 评论(0) 推荐(0) 编辑
摘要:代码如下: #include <iostream> #include <fstream> using namespace std; extern "C" { // 指定函数是C语言函数,以C语言的方式去编译 #include <libavcodec/avcodec.h> } // 以预处理指令的方式 阅读全文
posted @ 2021-12-14 00:22 夜行过客 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:MP4 转 RGBA: ffmpeg -i v1080.mp4 -s 800x400 -pix_fmt rgba 1.rgb 其中800x400 代表转换完成后的尺寸,x 是 小写英文字母 x, 不是乘号。 MP4 转 YUV ffmpeg -i v1080.mp4 -s 600x300 2.yuv 阅读全文
posted @ 2021-12-02 00:11 夜行过客 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <fstream> using namespace std; extern "C" { // 指定函数是C语言函数,以C语言的方式去编译 #include <libavcodec/avcodec.h> #include <libswscale 阅读全文
posted @ 2021-11-29 23:56 夜行过客 阅读(563) 评论(0) 推荐(0) 编辑
摘要:测试几种sleep的方式: #include <iostream> #include <ctime> #include <thread> #include <windows.h> using namespace std; void MSleep(unsigned int ms) { auto beg 阅读全文
posted @ 2021-11-25 21:56 夜行过客 阅读(216) 评论(0) 推荐(0) 编辑
摘要:总结之前的内容: sdlqtrgb.h #pragma once #include <QtWidgets/QWidget> #include "ui_sdlqtrgb.h" class SDLQtRGB : public QWidget { Q_OBJECT public: SDLQtRGB(QWi 阅读全文
posted @ 2021-11-23 00:20 夜行过客 阅读(299) 评论(0) 推荐(1) 编辑
摘要:本节记录下如何使用SDL直接播放和渲染RGB文件 1. 首先准备好需要播放的YUV文件 这里准备了一个mp4文件,我们要利用ffmpeg将该mp4文件直接转换成YUV文件,另外需要注意的是,由于YUV文件是未经压缩的文件,不同于mp4, 如果转换前的mp4文件时间很长,那么转换后的YUV文件将会很大 阅读全文
posted @ 2021-11-18 00:35 夜行过客 阅读(782) 评论(0) 推荐(0) 编辑
摘要:本节记录下如何合并两幅图像,并且使用SDL对其渲染,然后使用QT保存合成后的图像 两幅图像我们分别选取了一幅800*500和一幅600*300的图像,目标是把它们进行横向合并: 由上图可知,如果合并完成的话,最终图像的尺寸应该是1400 * 500 首先准备好这两幅图像 800 * 500 600 阅读全文
posted @ 2021-11-17 00:23 夜行过客 阅读(414) 评论(0) 推荐(0) 编辑
摘要:1. 在VS2019中新建一个Qt Widget Application 项目: 右键项目属性,设置所需要的头文件路径,库文件路径,工作目录等,这里省略。 2. 双击sdlqtrgb.ui 文件,打开设计器,为当前窗口添加一个Label: 添加label: 从左侧的Display Widgets 窗 阅读全文
posted @ 2021-11-16 00:34 夜行过客 阅读(461) 评论(0) 推荐(0) 编辑
摘要:一. 基本步骤 使用SDL渲染图像的步骤基本可分为以下几步: 1.1 初始化SDL接口 SDL_Init(SDL_INIT_VIDEO) 初始化SDL Video 库, 成功返回0, 失败返回非0值。 1.2 创建SDL窗口(可以直接创建一个窗口或是绑定一个窗口句柄) 这是生成窗口可以分为两种: 第 阅读全文
posted @ 2021-11-15 02:27 夜行过客 阅读(1574) 评论(0) 推荐(1) 编辑
摘要:SDL2.0是一个跨平台的多媒体开发库,封装了OpenGL和DirectX的接口,包含图像显示和音频播放。 首先下载SDL: 百度云链接: https://pan.baidu.com/s/1gAMGXyvQuwrpl4KNVpzyUA 提取码: reex 官方链接:https://www.libsd 阅读全文
posted @ 2021-11-15 00:20 夜行过客 阅读(519) 评论(1) 推荐(0) 编辑
摘要:这里演示使用QT渲染一幅 宽高为1280 * 720的 红色RGB图像。 首先需要理解RGB三原色,每个颜色其实都可以用一个byte(0~255)来表示,若R = 0, G = 0, B = 0,用16进制表示则是0x000000, 也就是黑色;若R = 255, G = 255, B = 255, 阅读全文
posted @ 2021-11-12 00:43 夜行过客 阅读(915) 评论(0) 推荐(0) 编辑
摘要:1. 安装QT 首先先下载QT,包含QT 的SDK和 VS2019的对应插件 QT 5.14.2 下载地址:https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe QT 插件下载地址:htt 阅读全文
posted @ 2021-11-09 23:13 夜行过客 阅读(1401) 评论(0) 推荐(0) 编辑
摘要:本文测试的环境为 ubuntu18.06, 下载地址:http://mirrors.aliyun.com/ubuntu-releases/18.04/ubuntu-18.04.6-desktop-amd64.iso 1. 安装可能用到的工具链 打开终端,执行下列指令,安装所有用到的工具链: sudo 阅读全文
posted @ 2021-11-08 23:20 夜行过客 阅读(1396) 评论(0) 推荐(1) 编辑
摘要:1. 拷贝库文件和头文件 在任意位置新建一个空目录,分别创建以下几个文件夹: bin: 用于存放刚才编译好的动态链接库文件。include: 用于存放头文件。lib: 用于存放后缀名为.lib的库文件,实际上只是库的路径。src: 用于存放测试的源码。tools: 用于存放ffmpeg 的源码,方便 阅读全文
posted @ 2021-11-04 23:32 夜行过客 阅读(698) 评论(0) 推荐(0) 编辑
摘要:一. 安装并配置msys2 这个工具主要用于模拟linux端的一些命令和指令。下载地址: msys2-x86_64-20210725_2.exe 链接: https://pan.baidu.com/s/1zOzoNzAt85KrccERo_9RQg 提取码: n64t 下载完成后双击exe进行安装, 阅读全文
posted @ 2021-11-02 00:51 夜行过客 阅读(2216) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示