首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
ffmpeg学习笔记-初识ffmpeg
】的更多相关文章
ffmpeg学习笔记-初识ffmpeg
ffmpeg用来对音视频进行处理,那么在使用ffmpeg前就需要ffmpeg有一个大概的了解,这里使用雷神的ppt素材进行整理,以便于复习 音视频基础知识 视频播放器的原理 播放视频的流程大致如下: 常用播放器 跨平台 VLC,Mplayer,ffplay等 Windows平台 完美解码,终极解码,暴风影音 信息查看工具 综合信息查看:MediaInfo 二进制信息查看:UltraEdit 单项详细信息分析 封装格式:Elecard Format Analyzer 视频编码数据:Elecard…
FFmpeg 学习(五):FFmpeg 编解码 API 分析
在上一篇文章 FFmpeg学习(四):FFmpeg API 介绍与通用 API 分析 中,我们简单的讲解了一下FFmpeg 的API基本概念,并分析了一下通用API,本文我们将分析 FFmpeg 在编解码时使用的API. 一.FFmpeg 解码 API 分析 1. avformat_open_input 分析 函数 avformat_open_input 会根据所提供的文件路径判断文件的格式,其实就是通过这一步来决定到底是使用哪个Demuxer. 举个例子:如果是flv,那么Demuxer就会使…
FFmpeg学习笔记之安装
本随笔原文出自:一叶知秋0830链接:https://www.jianshu.com/p/ab469a2ffd28 1.下载FFmpeg 先进入要存放下载文件的目录,比如要放在/Users/qinjian/Downloads/ffm目录,先执行命令 cd /Users/qinjian/Downloads/ffm 再执行下载的命令: git clone https://git.ffmpeg.org/ffmpeg.git 2.编译FFmpeg 先执行下面命令进入ffmpeg目录: cd /Users…
FFmpeg 学习(七):FFmpeg 学习整理总结
一.FFmpeg 播放视频的基本流程整理 播放流程: video.avi(Container) -> 打开得到 Video_Stream -> 读取Packet -> 解析到 Frame -> 显示Frame. Container:在音视频中的容器,一般指的是一种特定的文件格式(如 AVI/QT ),里面指明了所包含的音视频,字幕等相关信息. Stream:媒体流,指时间轴上的一段连续数据,如一段声音.视频或字幕数据. Packet:Stream中的Raw数据,包含了可以被解码成方…
Arduino学习笔记① 初识Arduino
1.前言 近段时间,博主陆续更新了ESP8266学习笔记,主要开发平台是Arduino.但是,对于很多无基础的初学者来说,甚至不了解Arduino是什么.因此,博主决定加入一个Arduino学习笔记,方便零基础的初学者.初学者可以从基础去了解Arduino,这样才能设计自己的东西,所以博主建议初学者可以参考<ARDUINO程序设计基础>,<Arduino-语法手册>,请点击 传输门 提取码:0923. 注意: 博主建议边学边练,巩固知识 2.什么是Arduino A…
ffmpeg学习笔记
对于每一个刚開始学习的人,刚開始接触ffmpeg时,想必会有三个问题最为关心,即ffmpeg是什么?能干什么?怎么開始学习?本人前段时间開始接触ffmpeg,在刚開始学习过程中.这三个问题尤其最后一个问题着实困扰了我一下.如今将我对ffmpeg的一点理解分享出来.希望对正在学习ffmpeg编程的同学有帮助. 1. ffmpeg是什么? (1)你能够把ffmpeg理解成一套音视频解决方式.而且还是免费.开源.跨平台的解决方式.它提供了录制.转换以及流化音视…
ffmpeg学习笔记-多线程音视频解码
之前的视频解码仍然存在问题,那就是是在主线程中去完成解码的,会造成线程阻塞,这里将其改为多线程解码,使其主线程不被阻塞 前面介绍了音视频的主线程解码,那样会阻塞主线程,在前面学习了多线程以后,就可以对音频和视频分离开来在子线程里解析了,但这样存在音视频同步的问题了,这里贴出代码,只是提供一种思路,其运行存在大量问题,还需要慢慢解决.例如,退出发生异常,音视频不同步 #include <android/log.h> #include <stdio.h> #include <st…
ffmpeg学习笔记-编译脚本
之前已经用他人的编译脚本对ffmpeg进行了成功编译,那么在裁剪ffmpeg的时候需要指定文件,这时候应该怎么编写编译脚本呢?本文目的在于说明ffmpeg编译脚本的编写 首先在ffmpeg的目录下新建编译脚本 touch android_build.sh #新建编译脚本 chmod 755 android_build.sh #修改权限 打开编译脚本,进行脚本编写 vim android_build.sh 最开始一行写入如下,表示这是一个bash脚本 #!/bin/bash 定义编译ffmpeg的…
ffmpeg学习笔记-音频播放
前文讲到音频解码,将音频解码,并且输入到PCM文件,这里将音频通过AudioTrack直接输出 音频播放说明 在Android中自带的MediaPlayer也可以对音频播放,但其支持格式太少 使用ffmpeg可以支持更多格式 常用的音频播放有很多种方式,但播放PCM就只有OpenSL和AudioTrack 这里使用AudioTrack进行实现 在上文中已经实现了音频的解码,而在本文中,将对解码完成的音频进行播放 在解码完成以后不是将其转化为PCM存储,而是直接进行播放 为何要播放PCM格式音频,…
ffmpeg学习笔记-音频解码
在之前的文章已经初步对视频解码有个初步的认识了,接下来来看一看音频解码 音频解码步骤 音频解码与视频解码一样,有者固有的步骤,只要按照步骤来,就能顺利的解码音频 以上是ffmpeg的解码流程图,可以看到,无论是音频还是视频,其步骤都是一样的,差别在于在视频处理和音频处理的方法不一样 音频解码步骤 由于音频解码步骤与视频类似,这里就直接使用之前测试ffmpeg生成是否可用的demo进行改进 注册组件av_register_all() 打开输入文件avformat_open_input() 获取输入…