FFmpeg
文章平均质量分 65
记录分享FFmpeg开发相关知识
刘信的csdn
坚持底线,努力做好自己。
展开
-
PCM无符号16位小端存储文件读取和解析总结
PCM无符号16位小端存储文件读取和解析总结假设小端存储方式的文件中存储了0xF3FF ,存储的真实的数据是多少呢?真实的数据应该是-13,因为是小端存储方式所以应该把高位和低位互换即0xFFF3,由于最高位为1,所以要求补码才对,即0x800D,即十进制的-13。再假设把0xF3FF读取到内存中, 读取到指针位置为0x00000001中,如果cpu是小端存储的方式,那么高字节存储高位,低字...原创 2019-12-21 16:23:13 · 1694 阅读 · 0 评论 -
音频的原始数据和压缩数据结构讲解
一、音频原始PCM数据PCM(Pulse Code Modulation),脉冲编码调制。人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。原理是用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲(脉搏似的短暂起伏的电冲击),把这些脉冲的幅值按一定精度进行量化,这些量化后的数值被连续的输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生过程(抽样、量化、编码三个过程)。PCM数据常用量化指标采样率(Sample rate):每秒钟采样原创 2021-06-19 17:36:32 · 3844 阅读 · 0 评论 -
音视频基础知识讲解
在生活中我们会碰到各种格式的视频文件,如mp4、flv、rmvb、mkv、avi等格式,大家有想过这些格式的本质是什么吗?这些音视频数据是如何存储的?播放器又是如何去云端解析并播放这些文件?想要弄明白这些问题,我们很有必要去学习下音视频的一些基础知识。1.视频播放器的原理首先说一下上文提到的这些格式都是一种封装格式,它相当于一个容器,里面装了音频流、视频流、字幕流等信息,其中视频流、音频流都是压缩后的数据,如视频流通过h264编码压缩后的数据、音频通过aac编码压缩后的数据。而视频播放器如果想要播放一个原创 2021-06-19 17:07:40 · 1391 阅读 · 0 评论 -
FFMPEG Demo分析之encode_video.c
前言本系列文章FFMPEG Demo分析之muxing.cFFMPEG Demo分析之demuxing_decoding.cFFMPEG Demo分析之decode_video.c本篇文章来介绍一下单独使用libavcodec库进行编码视频文件。编码音频和编码视频的步骤其实都差不多。先来简单介绍下编码的步骤。步骤如下:找到编码器->分配编码器上下文->给编码器上下文赋值一些必要的编码参数->打开编码器->分配AVPacket和AVFrame->给AVFrame赋值一原创 2021-06-19 16:13:06 · 631 阅读 · 0 评论 -
FFMPEG Demo分析之decode_video.c
前言之前二篇文章分别介绍了音视频从编码封装全过程 、解封装解码全过程 :FFMPEG Demo分析之muxing.cFFMPEG Demo分析之demuxing_decoding.c今天这篇文章主要学习下如何单独的使用编解码器 解码音频或者视频。因为demo中音频和视频的解码步骤都差不多。我们就以decode_video.c解码视频为例进行讲解。Demo中代码重点概况在这个demo中需要用到个重要函数av_parser_parse2。这个函数的作用就是输入压缩数据裸流拿到一个个的AVPacket原创 2021-06-19 11:17:12 · 1238 阅读 · 2 评论 -
FFMPEG Demo分析之demuxing_decoding.c
今天我们来分析另一个demo示例demuxing_decoding.c 这个示例主要功能就是把一个音视频文件分解为原始视频流YUV文件和原始音频流PCM文件 。首先我们先看一下流程图,如下图:/* * Copyright (c) 2012 Stefano Sabatini * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated原创 2021-06-09 17:14:54 · 577 阅读 · 0 评论 -
FFMPEG Demo分析之muxing.c
FFMPEG Demo分析之muxing.c前言前言打算写一系列关于ffmpeg的文章,先写一些ffmpeg自带的example 分析,然后总结一些常用的ffmpeg的命令。我们都知道音视频编解码分为几个步骤 。以解码为例,解协议->解封装->音视频解码.。而编码就是以上步骤的反过程。今天来分析下muxing.c的代码讲解。 这个demo的功能是编码一个音视频文件。下面为代码结构的流程图接下来我附上我自己理解添加了注释的代码#include <stdlib.h>#incl原创 2021-06-08 15:29:01 · 714 阅读 · 3 评论