[置顶] Android 音视频采集与软编码总结

前言 本文总结了笔者在 Android 音视频采集与软编码中的一些经验与技巧,包括移植 FFmpeg、YUV 视频帧处理、最新的 JNI 编写技巧、 ndk 开发技巧等,为了不扯太远本文不会对音视频编码的一些原理性东西进行剖析,也不会大量贴源码,更注重使用方法与流程的讲解。 文章最后将展示一个实现了音视频采集功能与本地视频压缩功能的完整项目。 采用软编码利弊 众所周知...
阅读(698) 评论(2)

[置顶] 利用FFmpeg玩转Android视频录制与压缩(三)

前言 上一回说到啊,这千秋月没是佳人离别,时逢枯枝落旧城,却待新兰满长街,战场上还未至瑞雪,各位看官不好意思,今日帝都又雾霾,来听小老二说书的别忘了加个口罩。在利用FFmpeg玩转Android视频录制与压缩(二)中我们基本编写完了所有模块儿代码,但是没有整合在一起,也没有对接Java层,接下来就是干这事。 native代码对接 我们编写完成了视频编码类、音频编码类、合成视频类,...
阅读(2000) 评论(19)

[置顶] 利用FFmpeg玩转Android视频录制与压缩(二)

预热 时光荏苒,光阴如梭,离上一次吹牛逼已经过去了两三个月,身边很多人的女票已经分了又合,合了又分,本屌依旧骄傲单身。上一次啊我们大致说了一些简单的FFmpeg命令以及Java层简单的调用方式,然后有很多朋友在github或者csdn上给我留言,很多时候我都选择避而不答,原因是本库以前用的so包是不开源的,我根本改不了里面东西。但是这一次啊我们玩点大的,我重新编译了FFmpeg且重写JNI的...
阅读(3846) 评论(41)

[置顶] Android下玩JNI的新老三种姿势

说明:本篇不撸代码,只玩编译,其包含了Android studio 2.2最新的JNI玩法 编译环境:macOS 10.12.3 工具包含:Android Studio 2.2 NDK-r14 在Android下要玩jni首先下载ndk是必须的,可以直接去https://developer.android.google.cn/ndk/downloads/index.html下载,当然我...
阅读(3679) 评论(8)

[置顶] 利用FFmpeg玩转Android视频录制与压缩(一)

Android下利用FFmpeg玩转视频录制与压缩(一) 说明: 本库暂时是在秒拍开源库上做的二次开发,旨在开发简单好用高效的视频录制库。本篇文档只涉及Java层次逻辑,正在业余修炼c语言与JNI相关的东西,如果有幸写第二篇文章,那时将对其做更深入的剖析,如FFmpeg编译、JNI相关代码编写。 效果图: 功能描述: 利用FFmpeg录制定制化的视...
阅读(11134) 评论(107)

[置顶] 利用Jenkins玩转Android自动打包发包

请尊重原创,转载请注明出处: 先看一眼效果图: 脚本配置地址:https://github.com/mabeijianxi/android-automation 总体步骤可为: 下载新版Jenkins挂载到Tomcat安装Jenkins里面需要用到的一些插件并且配置Jenkins参数配置项目build.gradle里面的脚本编写Python脚本拉取蒲公英上A...
阅读(16528) 评论(15)

[置顶] Android QQ小红点的实现(附完整注释)

最近找了抽了些时间找了些资料,终于做出了一个相对成熟的类似QQ小红点的拖拽控件。 先看下效果: simple与lib下载地址:https://github.com/mabeijianxi/stickyDots 一、分析: 1、首先分析这个控件的组成部分: 通过观察可以很明显的得出这个控件由三部分组成,一个固定不动的圆,一个连接部分,一个可能是圆的拖拽部分,由于不确定暂时把...
阅读(4990) 评论(11)

快速打造 Android 自定义表情库

简介 本文灵感来源是经典的https://github.com/rockerhieu/emojicon,部分代码直接不要脸的 copy 了,在其基础上更美观好用,且自定义空间更大。 最终效果图 源码下载与使用方法 https://github.com/mabeijianxi/android-expression 实现思想 首先叫 UI 给我做好的表情...
阅读(286) 评论(1)

编译Android下可用的全平台FFmpeg(包含libx264与libfdk-aac)

源码或工具版本: ndk :r14 FFmpeg 版本:3.2.5 libfdk-aac 版本:0.1.5 一、源码准备: 这里假设你已经拥有了ndk环境,没有的可以先配置,可以参考Android下玩JNI的新老三种姿势。 FFmpeg源码下载地址:http://ffmpeg.org/download.html。 libx264下载地址:http://...
阅读(1124) 评论(7)

Activity 中 setContentView 的深入思考

先看张图不说话: 往事得从 Activity 的 Window 创建说起,话说啊在启动一个 Activity 的时候经过一系列调用,终于到达了  ActivityThread 的 performLaunchActivity 方法,里面通过类加载器加载了 Activity 实例后会调用其 Activity 的 attach 方法,下面是 performLaunchA...
阅读(146) 评论(0)

Thinking in java 笔记(更新中)

一、字符串 1、String 对象是不可变的,String 类中每一个看起来会修改String 值的方法,实际上都是创建了一个全新的 String 对象,以包含修改后的字符串内容,而最初的String 对象则丝毫未动。每当把 String 对象作为方法的参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上,从未动过。 2、Stringbuilder中 app...
阅读(96) 评论(0)

Android开发艺术探讨精华(完结)

拾起了一年多前看过的一本书,这里记录一些概念,以便以后巩固复习或者面试。 1、configChanges=“orientation|screenSize”,禁止屏幕旋转时重建Activity。这时将回调Activity的onConfigurationChanged  2、当启动Activity时加上 FLAG_ACTIVITY_NEW_TASK   标记位后,这个时候待...
阅读(367) 评论(0)

视频压缩编码和音频压缩编码的基本原理

原文地址:http://blog.csdn.net/leixiaohua1020/article/details/28114081 本文介绍一下视频压缩编码和音频压缩编码的基本原理。其实有关视频和音频编码的原理的资料非常的多,但是自己一直也没有去归纳和总结一下,在这里简单总结一下,以作备忘。 1.视频编码基本原理 (1)  视频信号的冗余信息 以记录数字...
阅读(452) 评论(1)

x264编码指南——码率控制

x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频。     对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配。     如果你在编译和安装libx264 方面需要帮助,请查看ffmpe...
阅读(259) 评论(0)

ffmpeg 编码器AVCodecContext 的配置参数

1、先说一些基本的API [cpp] view plain copy AVFormatContex * pFormatCtxEnc;   AVCodecContext * pCodecCtxEnc;      AVStream * video_st;   AVOutputFormat * pOutputFormat;      pOutput...
阅读(209) 评论(0)

编译Android下可执行命令的FFmpeg

本人环境与工具: 系统:MacOs-10.12.4 ndk:r14 FFmpeg版本: 3.2.5 Android Studio: 2.3.2 一、说明: 本文是经过实战总结出的经验,本文将用两种方式编译可以在Android下执行命令的FFmpeg,一种是传统的ndk-build工具,一种是cmake工具,经过我的项目实战,非常推荐cmake,因为AS...
阅读(1860) 评论(15)

编译Android下可用的FFmpeg(包含libx264与libfdk-aac)

请尊重原创,转载请注明出处:http://blog.csdn.net/mabeijianxi/article/details/72888067本人环境: 系统:MacOs-10.12.4 ndk :r14 FFmpeg版本:3.2.5 一、源码准备:这里假设你已经拥有了ndk环境,没有的可以先配置,可以参考Android下玩JNI的新老三种姿势。 FFmpeg源码下载地址:h...
阅读(1072) 评论(11)

有符号数值类型的最大值加1为什么是其最小值?

下面以C语言中char为例子: 都知道其无符号取值范围是0~2^8也就是0~255。原因很简单,其二进制为8位,最大值自然是 1111 1111,转换为10进制:1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^5+1*2^6+1*2^7=255。 那么如果是有符号char呢?按照规定有符号数值的最高为表示符号位,1为负数,0为正数。1111 1111则为:-(1*2^0+...
阅读(372) 评论(0)

Android实时直播,一千行java搞定不依赖jni

目首页:https://github.com/simple-rtmp-server/srs-sea SRS服务器项目:https://github.com/simple-rtmp-server/srs 在Android高版本中,特别是4.1引入了MediaCodec可以对摄像头的图像进行硬件编码,实现直播。 一般Android推流到服务器,使用ffmpeg居多,也就是软编码,实际...
阅读(934) 评论(3)
31条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:73007次
    • 积分:969
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:8篇
    • 译文:1篇
    • 评论:249条
    最新评论