ffmpeg学习笔记-native原生绘制】的更多相关文章

上次已将ffmpeg的动态库编译出来了,并且使用了ffmpeg的转码功能,成功将mp4格式视频转化为yuv视频,这篇文章基于上次测试的demo,使用surfaceview显示解码完成的像素数据 布局设置和权限添加 布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and…
[Cocos2d-x]学习笔记目录 本文链接:https://www.cnblogs.com/deepcho/p/cocos2dx-render.html 1. 从程序入口到渲染方法 一个Cocos2d-x项目流程中,在每一帧进行一次渲染,渲染的时机是在调度器update方法执行之后.所渲染的是当前的场景_runningScene,当前场景执行Scene::render()方法进行渲染. 在场景的渲染方法Scene::render()中,对UI树进行中序遍历,遍历到的元素执行其draw方法.对于…
之前的视频解码仍然存在问题,那就是是在主线程中去完成解码的,会造成线程阻塞,这里将其改为多线程解码,使其主线程不被阻塞 前面介绍了音视频的主线程解码,那样会阻塞主线程,在前面学习了多线程以后,就可以对音频和视频分离开来在子线程里解析了,但这样存在音视频同步的问题了,这里贴出代码,只是提供一种思路,其运行存在大量问题,还需要慢慢解决.例如,退出发生异常,音视频不同步 #include <android/log.h> #include <stdio.h> #include <st…
       对于每一个刚開始学习的人,刚開始接触ffmpeg时,想必会有三个问题最为关心,即ffmpeg是什么?能干什么?怎么開始学习?本人前段时间開始接触ffmpeg,在刚開始学习过程中.这三个问题尤其最后一个问题着实困扰了我一下.如今将我对ffmpeg的一点理解分享出来.希望对正在学习ffmpeg编程的同学有帮助.        1. ffmpeg是什么?        (1)你能够把ffmpeg理解成一套音视频解决方式.而且还是免费.开源.跨平台的解决方式.它提供了录制.转换以及流化音视…
上一篇我们已经讲述了canvas的基本用法,学会了构建canvas环境.现在我们就来学习绘制一些基本图形. 坐标 canvas的坐标原点在左上角,从左到右X轴坐标增加,从上到下Y轴坐标增加.坐标的一个单元是1像素.示意如下: 矩形 canvas可以绘制的多边形只有矩形,其他都要通过线段拼接而成. 绘制矩形有三个API: fillRect(x, y, width, height) 绘制一个填充的矩形. strokeRect(x, y, width, height) 绘制一个只有描边的矩形. cle…
前文讲到音频解码,将音频解码,并且输入到PCM文件,这里将音频通过AudioTrack直接输出 音频播放说明 在Android中自带的MediaPlayer也可以对音频播放,但其支持格式太少 使用ffmpeg可以支持更多格式 常用的音频播放有很多种方式,但播放PCM就只有OpenSL和AudioTrack 这里使用AudioTrack进行实现 在上文中已经实现了音频的解码,而在本文中,将对解码完成的音频进行播放 在解码完成以后不是将其转化为PCM存储,而是直接进行播放 为何要播放PCM格式音频,…
在之前的文章已经初步对视频解码有个初步的认识了,接下来来看一看音频解码 音频解码步骤 音频解码与视频解码一样,有者固有的步骤,只要按照步骤来,就能顺利的解码音频 以上是ffmpeg的解码流程图,可以看到,无论是音频还是视频,其步骤都是一样的,差别在于在视频处理和音频处理的方法不一样 音频解码步骤 由于音频解码步骤与视频类似,这里就直接使用之前测试ffmpeg生成是否可用的demo进行改进 注册组件av_register_all() 打开输入文件avformat_open_input() 获取输入…
Android平台要使用ffmpeg就需要编译生成动态库,这里采用Ubuntu编译Android动态库 文件准备 要编译生成Android需要以下文件 NDK ffmpeg源代码 NDK下载 NDK可以去Google下载,也可以在国内一些Android网站下载 这里推荐两个Android的下载网站 Android Studio 中文组 AndroidDevTools ffmpeg ffmpeg在其官网可以直接下载,不需要翻墙 官网下载地址 配置环境 我这里下载的是android-ndk-r10e…
ffmpeg用来对音视频进行处理,那么在使用ffmpeg前就需要ffmpeg有一个大概的了解,这里使用雷神的ppt素材进行整理,以便于复习 音视频基础知识 视频播放器的原理 播放视频的流程大致如下: 常用播放器 跨平台 VLC,Mplayer,ffplay等 Windows平台 完美解码,终极解码,暴风影音 信息查看工具 综合信息查看:MediaInfo 二进制信息查看:UltraEdit 单项详细信息分析 封装格式:Elecard Format Analyzer 视频编码数据:Elecard…
本节我们来学习如何绘制文字. 绘制文字有两个主要的方法: fillText(text, x, y [, maxWidth]) 在x, y位置填充文字text,有一个可选参数maxWidth设置最大绘制宽度. strokeText(text, x, y [, maxWidth]) 在x, y位置给文字text描边,有一个可选参数maxWidth设置最大绘制宽度. 文字样式 有一些属性用来设置文字的样式: font = value 设置字体.大小等,语法和CSS的font-famaliy属性语法一样…