ICode9

精准搜索请尝试: 精确搜索
  • av_register_all分析2021-11-01 20:35:28

    av_register_all 初始化所有的封装和解封装器,比如flv mp4 mp3 mov,不包含编解码器。 avcodec_register_all 初始化所有的编解码器,如h264,h265等。 avformat_network_init 初始化所有的网络库,比如rtmp,rtsp等。

  • write up -- Buu magicheap2021-10-30 21:35:46

    简介 buu上的题,着重练习一下堆的解题思路。 附件是64位小端的可执行程序 我们直接ida分析一下吧 这个就是main函数的具体的逻辑是个很明显的菜单题目,一般先看申请堆块的选项,再看free堆块的选项。 我们先来看看申请堆块的选项create_heap() 可以看到除了没有限制申请堆块的大小

  • FFMPEG-CH1-Time2021-10-29 19:32:04

    FFMPEG Chapter 1 Time 1 Definition time_base #define AV_TIME_BASE 1000000 #define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE} AV_TIME_BASE_Q指的是1微秒(1/1000000)。 pts & dts PTS(Presentation Time Stamp) : 显示时间戳 DTS(Decoding Time Stamp)

  • 6-7 求二维数组周边元素的平均值2021-10-28 23:59:30

    本题目要求二维数组周边元素的平均值。 函数接口定义: double avg(int a[][N]); 函数值返回周边元素的平均值。 裁判测试程序样例: #include <stdio.h> #define M 3 #define N 4 double avg(int a[][N]); int main() { int i,j,a[M][N]; double av; for(i=0;i<M;i++

  • AVFrame 的两种手动分配内部buf和data的方式2021-10-28 11:32:17

    用ffmpeg的时候我们有时候需要手动为AVFrame分配内存数据,目前有两种方式, 第一种: AVFrame *m_yuvFrame{nullptr}; uint8_t *m_outbuf{nullptr}; int m_outbuffSize{0}; m_yuvFrame = av_frame_alloc(); // allocate buffer to store decoded frame AVPixelFormat av_fmt

  • 学习进度12021-10-23 23:04:02

    在本节中,我们回顾了有关视听(AV)融合的最新结果。我们还将讨论一些挑战,并报告解决这些挑战的方法。AV融合中的一个重要问题是模态如何相互作用和相互影响。本节将在AV语音处理(尤其是语音识别)的背景下解决此问题,其中一个问题是模态既相互作用,又有时彼此不同步。有时会出现的另一个问

  • FFmpeg 调用 Android MediaCodec 进行硬解码(附源码)2021-10-20 18:02:19

    好文推荐: 作者:glumes FFmpeg 在 3.1 版本之后支持调用平台硬件进行解码,也就是说可以通过 FFmpeg 的 C 代码去调用 Android 上的 MediaCodec 了。 在官网上有对应说明,地址如下: trac.ffmpeg.org/wiki/HWAcce… 从图中可以看到,不仅仅是 Android 上支持 MediaCodec,iOS 上也支

  • AVPacket相关api2021-10-17 16:31:40

    AVPacket* newpkt = av_packet_alloc(); if(!newpkt) { //Error } //此函数先给newpkt分配空间,然后再给newpkt中的结构体成员赋初值(其实是调用av_init_packet(…)完成的)。 av_packet_free(…)则是释放newpkt的空间。

  • av_bsf_get_by_name,av_bsf_iterate, av_bsf_alloc,avcodec_parameters_copy2021-10-14 17:00:39

    av_bsf_get_by_name 定义指定比特流过滤器 /** * @return 具有指定名称的比特流过滤器,如果没有,则返回 NULL * 存在比特流过滤器。 */ const AVBitStreamFilter *av_bsf_get_by_name(const char *name); 源码: const AVBitStreamFilter *av_bsf_get_by_name(const char *n

  • avformat_find_stream_Info2021-10-12 16:34:04

    avformat_find_stream_Info声明: 所属库:libavformat(lavf) 头文件:avformat.h 声明: 从如下声明的解释可以获知以下几点信息 1)该函数将读取媒体文件的音视频包去获取流信息。本函数常用于avformat_open_input()函数之后,在avformat_open_input()函数中会调用输入文件格式的read_hea

  • av_realloc2021-10-12 15:05:25

    原文链接:https://blog.csdn.net/ice_ly000/article/details/90510504 av_realloc() 声明: 所属库:libavutil(lavu),该库是ffmpeg的功能库,当前函数属于内存管理功能 头文件:libavutil/mem.h 功能:1. 分配空间 / 重新分配空间(已分配空间的伸缩) / 释放一块内存。 1)ptr为NULL,且size>0

  • ffmpeg系列--音频格式介绍2021-09-18 13:01:27

    本系列文章会陆续更新与ffmpeg相关的知识点。 一、环境信息 1、ffmpeg版本:4.4 2、linux 二、通过libavutil/samplefmt.h中查看该版本中支持以下音频格式。 enum AVSampleFormat { AV_SAMPLE_FMT_NONE = -1, AV_SAMPLE_FMT_U8, ///< unsigned 8 bits AV_SAM

  • FFmpeg 之音视频解码与音视频同步(二),Android社招面经分享2021-09-10 13:00:30

    //获取视频文件信息,例如得到视频的宽高 //第二个参数是一个字典,表示你需要获取什么信息,比如视频的元数据 if (avformat_find_stream_info(pFormatCtx, NULL) < 0) { LOGE("%s", "无法获取视频文件信息"); return; } //获取视频流的索引位置 //遍历所有类型

  • one play2021-09-04 19:34:55

    #include "stdafx.h"#include <stdio.h>#include <stdlib.h>extern "C"{#include <SDL2/SDL.h>#include "libavutil/opt.h"#include "libavutil/channel_layout.h"#include "libavutil/common.h"#includ

  • rsync基础2021-08-25 22:00:57

    Rsync 一、简介 rsync是一个常用的Linux应用程序,用于文件同步。 它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(不支持两台远程计算机同步)。其可以当做文件复制工具,替代cp、mv命令。 名字里的r指的是remote,rsync就是“远程同步的”(remote sync)的意思,与其他文件

  • 百度 无人车 面试2021-08-17 08:00:26

      题1 let nums = [30,31,34,5,9] //输出:"9534330" function compare(a, b) { let al = a.length; let bl = b.length; let l = al > bl ? al : bl; for (let i = 0; i < l; i++) {    // 此处重点 比较 3 与 31 的大小, 3要大于 31 let av = a[i

  • 【AVD】FFmpeg + MediaCodec 实现 Android 硬件解码,中间有个大坑2021-07-29 13:03:23

    最近在做移动端音视频编解码,首先要实现的是移动端视频的解码功能。纯的 FFmpeg 方法在移动端也能实现,但是效率上的确要慢一些,1080p 的视频还好,但是上到 2k、4k,那个解码速度(以肉眼可见的速度解码一帧),就没法忍受了。因此要搞移动端硬件解码,以加速解码速度,同时释放部分 CPU 资

  • FFMPEG关于推流端降低延迟调节(一)2021-07-28 16:32:40

    FFMPEG关于推流端降低延迟调节(一) 本文所写的是调节推流端降低延迟能调节的一些方案,有不足请补充,其他端方向类似,例如降低采集缓存,减少编码时间等等,如有需要请参考。本文以windows推流端为例做解释。 1:减少采集缓存     av_dict_set(&p_device_options,"rtbufsize",str_buf_size,0

  • 视频编码流程详解2021-07-28 12:30:16

    1、视频编码整体流程 2、FFmpeg视频编码详细流程 从本地读取YUV数据编码为H264格式的数据,然后再存入到本地,编码后的数据有带startcode。 与FFmpeg示例音频编码的流程基本一致。 3、关键函数说明 (1)avcodec_find_encoder_by_name:根据指定的编码器名称查找注册的编码器

  • ffmpeg解码h265,并用Qt显示2021-07-23 12:02:28

    学习ffmpeg有一段时间了,由于身边没有人可以请教,所有基本上都是出了问题就上网查资料。到现在勉强能完成工作任务了。本文旨在进行一下总结,加深理解和方便复习。 项目中使用到的ffmpeg主要包括: 1.上位机拉相机的视频流并显示。(上位机用Qt开发) 2.保存视频流(目前只实现了264的编

  • ffmpeg用filter实现视频scale2021-07-21 18:33:39

    1、概述此例子用ffmpeg的filter实现视频scale。2、代码 /**  * 最简单的基于FFmpeg的AVFilter例子(scale)  *  * 缪国凯(MK) * 821486004@qq.com * * http://blog.csdn.net/dancing_night *  * 本程序使用FFmpeg的AVfilter实现了视频的缩放功能。 *  * */ #include

  • AVFrame的数据填充方式2021-07-21 18:03:10

    我们知道平时使用AVFrame这个数据结构时,首先需要调用av_frame_alloc()对其进行初始化,初始化后的数据里data数组和buf数组都是空的,也就是说初始化后不会填充一个默认图像数据(毕竟初始化时不需要知道图片的任何信息)。   我平时使用的AVframe填充数据的方式为av_image_fill_arrays,先

  • ffmpeg之-AVPacket解析(四)2021-07-21 11:33:01

    前言 AVPacket是ffmpeg常用的结构体,位于libavcodec/avcodec.h中,它用于表示一帧压缩的视频或者多帧压缩的音频,使用了引用计数机制来管理内存 AVPacket结构体分析 常用函数 AVPacket使用方式 AVPacket结构体分析 如下为源码中关于AVPacket的描述(基于ffmpeg版本为4.2),已去掉注释

  • glibc2.29下unsortedbin_attack的替代方法2021-07-19 11:32:54

    前言: 如今glibc已经发布了glibc 2.31版本,利用也变得越来越难,主要原因是新的版本中加入了更多的check,不过现在大多数的题目还是基于glibc2.23 2.27和2.29这3个版本。我们知道,glibc2.29相对于glibc2.23加入了更多的保护措施,而glibc2.29下对unsortedbin的保护措施相当于直接扼杀了uns

  • 13.4 RMAP小结2021-07-19 09:34:27

    早期的linux2.6的rmap实现如下图: 父进程的VMA中有一个struct anon_vma数据结构(简称AVp),page->mapping指向AVp数据结构,另外父进程和子进程所有映射了页面的VMA时,只需要从物理页面的page->mapping找到AVp,再遍历AVp链表即可。当子进程的虚拟内存发生写时复制COW时,新分配的页面COW

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有