自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android知识点总结

Android知识点总结Android框架设计Android网络框架设计Android常见问题防止Activity被重新创建 Android中滑动冲突的解决方案Android中API的使用案例Service的使用AIDL的使用Messenger的使用ShareUserId的使用BroadcastReceiver的使用ContentProvider的使用AppWidget使用Android中的Dra

2017-01-23 09:00:03 1775

翻译 Adobe RTMP协议

介绍RTMP协议

2023-05-21 16:32:41 209

原创 ffplay源码分析-日志分析

本文主要介绍ffplay通过命令行参数设置日志flags日志级别、以及是如何打印日志内容的。

2023-03-25 15:53:48 785 1

原创 ffplay源码分析-main函数入口分析

ffplay源码分析

2023-03-25 15:51:41 631

原创 Mac使用CMake编译stasm

人脸识别

2022-12-23 13:41:01 971

原创 视频特效-使用ffmpeg滤镜

ffmpeg滤镜的使用

2022-09-03 08:01:42 2122 1

原创 音频特效实践

音频特效基础实践

2022-07-17 17:29:56 2111

原创 Android制作一个视频录制器

使用底层api制作一个视频录制app

2022-06-11 18:15:21 1732

原创 使用MediaCodec+OpenSL编写简单的音频播放器

使用MediaCodec+OpenSL编写简单的音频播放器前言通过MediaCodec Native API 和OpenSL编写一个简单的音频播放器。可以解码并播放一个mp3文件.流程初始化使用AMediaExtractor解析Mp3文件,它可以得到音频文件的格式、以及帧(未解码)。根据得到的音频信息(channelCount,channelMask,sampleRate)等可以创建出OpenSL AudioPlayer来播放解码后的音频。创建根据解析得到的音频mime,创建合适的Media

2022-04-23 18:25:48 3920

原创 使用OpenSL直接播放mp3

使用OpenSL直接播放mp3前言通过使用OpenSL来播放一个mp3文件来学习openSL的使用方式。设计在android平台播放mp3方式有多种方式入使用MediaPlayer、AudioTrack、OpenSL、oboe等。根据使用MediaPlayer,AudioTrack的经验一个播放器需要有的基础功能有加载数据、开始、暂停、停止、销毁等。我们可以设计一个播放器它具有开始播放、暂停、停止、调整进度等方式。那么我们需要设计一个类它应该支持以下功能:初始化:初始化SLEngine、构建

2022-04-10 15:06:13 5166

原创 分析OpenSL回声Demo

分析OpenSL回声demo

2022-04-05 19:26:43 402

原创 Android使用SurfaceView搭建OpenGL环境

Android使用SurfaceView搭建OpenGL环境流程在页面上使用SurfaceView。在SurfaceView创建成功之后使用surface.getSurface获取到Surface对象传到native层。Native层根据传入的Surface对象获取ANativeWindow。获取显示对象EGLDisplay并初始化。根据配置创建EGL上下文(EGLContext)。为ANativeWindow设置buffer.根据EGLDisplay、ANativeWindow创建一个E

2022-03-26 13:44:09 6692

原创 Android使用GLSurfaceView搭建OpenGL环境

android使用opengl绘制图形

2022-03-19 15:28:33 9955

原创 使用sws_scale转换视频、使用swr_convert转换音频

使用Sws转换视频、使用swr_convert转换音频环境➜ ~ ffmpeg -versionffmpeg version N-105035-g617452ce2c Copyright (c) 2000-2021 the FFmpeg developersbuilt with Apple clang version 12.0.5 (clang-1205.0.22.11)configuration: --enable-gpl --enable-filter=aresample --enable-

2022-03-12 15:56:01 1138

原创 使用ffmpeg解析mp4文件得到音频和视频数据

使用ffmpeg分离并解码mp4文件中的音频/视频流

2022-02-22 08:24:35 5352 1

原创 使用Lame编译音频文件

资源准备https://lame.sourceforge.io/download.phphttps://sourceforge.net/projects/lame/files/lame/下载:lame-3.100编译lame3在现在的源码根目录下配置./configure --host="x86_64"编译make安装make install默认会被安装在/usr/local目录下。lame安装之后并不存在pkgconfig配置,所有我们使用CMakeLists.t

2021-12-18 21:23:38 1461

原创 使用Libvpx编码视频

使用X265编码视频环境准备使用git下载libvpx源码https://chromium.googlesource.com/webm/libvpx/如果电脑之前没有安装过 yasm,nasm 可以使用 brew 安装一下 brew install yasm brew install nasm进入到工程根目录下编译./configure --enable-shared配置完成之后makemake install命令行使用如vpxenc --cod

2021-12-09 08:42:54 913

原创 使用X265编码视频

使用X265编码视频环境准备使用hg 下载x264源码https://www.videolan.org/developers/x265.html如果电脑之前没有安装过 hg,yasm,nasm 可以使用 brew 安装一下 brew install hg brew install yasm brew install nasm进入到工程 …/x265/build/linux 目录下编译即便是Mac,也可以在这个目录下进行编译(我使用xcode编译,在安装阶段

2021-12-09 08:28:59 3649

原创 使用X264编码视频

使用X264编码视频环境准备使用git clone 下载x264源码https://www.videolan.org/developers/x264.html如果电脑之前没有安装过 yasm,nasm 可以使用 brew 安装一下 brew install yasm brew install nasm进入到工程根目录下编译 // 配置开启动态库,也可以不开启,默认MAC会安装在/usr/local目录下,其他可以使用./confiure --help 查看帮助 1

2021-12-09 08:10:41 568

原创 Android文件上传

上传的方式本文将介绍2中文件上传的方式: 1.multipart/from-data方式上传。 2.binary方式上传。multipart上传方式html的上传方式代码这中上传方式是我们最常用的上传方式。比如我们使用网页上传文件,其中html代码大致为这样:<form method="post" enctype="multipart/form-data" action="/upload/sin

2017-07-07 16:45:02 2888

原创 ReactNative开发——封装原生UI组件

ReactNative开发——封装原生UI组件下文我们将制作一个可以用来显示图片的原生UI组件,这个UI组件可以随着手势放大缩小。(封装PhotoView) PhotoView的开源地址:https://github.com/chrisbanes/PhotoView一、引入开源库可以PhotoView开源库作者的引用提示: 1.在 android项目根目录中的 build.gradle中加入:a

2017-06-21 12:45:37 4428 2

原创 ReactNative开发——Navigation的使用

ReactNative开发——Navigation的使用React Native 0.43之前 ‘react-native’包里面,但0.43之后了’rea移除了rect-native’。网上的大部分资料,也是ReactNative 0.43之前的 Navigator的用法,然而我用的0.44版本在开发,这就…. 参考: http://facebook.github.io/react-native

2017-06-16 10:52:00 7869 1

原创 ReactNative开发——滑动组件

ReactNative开发——滑动组件环境window android react-native 0.45ScrollView介绍ScrollView是一个可以滑动的组件,它内部可以是一个高度不受控制的View,但它自身必须要有个固定的高度。这里如果我们不给直接他设置高度,它的上层空间有固定高度的话也是可以的。<ScrollView> VS <FlatList>我们应该选择哪个?ScrollVie

2017-06-13 09:27:14 6496

原创 ReactNative开发——组件的生命周期

ReactNative开发——组件的生命周期使用ES6语法创建Component我查看了下网上有关React Native中组件的生命周期有关的资料,发现大多介绍的是 ReactClass.create这种方式创建的Component创建的组件,这种方式创建的组件,生命周期都是先执行和getDefaultProps和 getInitialState。而我创建Component的方式采用了ES6的写法

2017-06-06 14:23:00 2828

原创 ReactNative开发——Clipboard

ReactNative开发——ClipboardClipboard组件可以在iOS和Android的剪贴板中读写内容示例class ClipboardView extends Component { state = { textFormClipboard: '' } render() { return ( <View st

2017-06-02 17:01:25 983

原创 ReactNative开发——StatusBar

ReactNative开发——StatusBarStatusBar用来设置并动态改变设备的状态栏显示特性。基本属性 componentDidMount(){ window.setTimeout(()=>{ //获得状态栏高度; console.log('height:'+StatusBar.currentHeight)

2017-06-02 16:59:46 2775

原创 ReactNative开发——组件的引用

ReactNative开发——组件的引用定义组件的引用<TextInput ref='aReferName'...使用组件根据引用调用组件的方法this.refs.aReferName.公开函数()示例render() { return ( <View style={{flex: 1, justifyContent: 'flex-start'}}>

2017-06-02 16:58:51 922

原创 ReactNative开发——TextInput

ReactNative开发——TextInputTextInput是一个允许用户在应用中通过键盘输入文本的基本组件。本组件提供了多种特性的配置,比如自动完成,自动大小写,占位文字,以及多种不同的键盘类型(如数字键盘)等等。TextInput的属性export default class Project07 extends Component { render() { retu

2017-06-02 16:58:16 526

原创 ReactNative开发——Text组件

ReactNative开发——Text组件Text组件用来显示一段字符串,在React Native开发中,所有需要显示的字符串都需要放置在Text组件或者有他派生出的TextInput组件中。Text内部的元素不在使用flexbox布局,而是采用文本布局。基本属性export default class Project07 extends Component { render() {

2017-06-02 16:57:09 690

原创 ReactNative开发——可触摸组件类型

ReactNative开发——可触摸组件类型可触摸的组件类型有:TouchableHighlight、TouchableNativeFeedback、TouchableOpacity、TouchableWithoutFeedback。TouchableHighthight本组件用于封装视图,使其可以正确响应触摸操作,当按下的时候,封住视图的不透明度会降低,同时会有一个底层的颜色透过而被用户看到,使得

2017-06-02 16:54:32 444

原创 React Native开发——Image组件

React Native开发——Image组件Image是一个用于显示多种不同类型的React组件,包括网络图片、静态资源、临时的本地图片、以及本地磁盘上的图片(如相册)等。加载图片renderImages() { return ( <View> <Image style={styles.icon} source={require('./ico

2017-06-02 16:53:44 1034

原创 ReactNative开发——View组件

ReactNative开发——View组件View组件是React Native最基本的组件,绝大部分其他React Native组件都继承了View组件的属性,包括支持View组件的样式设置,回调函数以及其他属性。View组件的颜色和边框 键 值 backgroudColor 用来指定组件的背景颜色,如果没指定,默认的背景颜色会是一种非常浅的灰色,只有Text,与TextInput会

2017-06-02 16:52:06 1272

原创 ReactNative开发——flexbox布局

ReactNative开发——flexbox布局flexbox(弹性盒)是W3C提出的UI设计模型规范的一种实现,有布局神器的美誉。ReactNative实现了其中的大部分功能。位置及宽高样式键 键 取值 position 它的取值是字符串类型,取值可以是releative(默认)或者absolute,表示当前描述的位置是相对定位还是绝对定位 top 数值类型,当positio

2017-06-02 16:37:53 497

原创 ReactNative开发——RN与android Native交互初探

ReactNative开发——RN与android Native交互初探环境window10,reactnative 0.44版RN调用android方法1、导入NativeModules组件 import {NativeModules} from 'react-native';2、在android中创建一个类继承自ReactContextBaseJavaModule,并定义一个方法供RN调用。

2017-05-27 15:38:44 12941 7

原创 ReactNative开发——系统弹出框

ReactNative开发——系统弹出框导入Alter组件import {Alert} from 'react-native'使用AlertAlert.alert( "弹出框标题提示语", "弹出框正文提示语", [ {text: 'ask me later'}, {text: '取消', onPress: this.userCanceled}

2017-05-27 15:37:41 2686

原创 ReactNative开发——自定义组件

ReactNative开发——自定义组件定义组件我自定义了一个对话框,这个对话框的样子如图所示: 直接上代码:/** * 直接导出组件,不用写module.exports=ConfirmDialog */export default class ConfirmDialog extends Component { render() { return (

2017-05-27 15:36:27 9881

原创 ReactNavite开发——环境搭建

ReactNaviet开发环境搭建安装开发工具创建第一个项目使用WebStrom创建项目学习资料ReactNaviet开发——环境搭建安装开发工具我使用的操作系统是:Window 10安装git、nodejs。在命令行窗口输入 npm install -g nrm。安装nrm模块可以方便我们切换npm下载源。在命令行输入npm install -g npm@3 来安装npm 3。输

2017-05-27 15:31:35 951

原创 Android直播解决方案

Android直播解决方案思路本文采用的协议推送端实现音频采集视频采集音频编码视频编码音视频推送服务器搭建播放端项目地址Android直播解决方案思路要实现直播我们必须有3个东西 推流端、流媒体服务器、播放端。流媒体服务器我们可以暂时不考虑,可以直接使用开源的服务器red5或nginx等。推流端设计: 如何进行音频、视频采集如何进行音频、视频编码如何音视频一起实时发

2017-03-21 18:13:03 5848 9

原创 IntentFilter的匹配规则

IntentFilter的匹配规则IntentFilter的使用假如我们要隐式启动一个Activity我们需要成功匹配activity中的任意一个intent-filter。如果要成功匹配该intent-filter我们需要完全匹配该intent-filter中的 action、category、data。示例:<activity android:name=".MainActivity">

2017-02-07 17:39:29 557

原创 Android 使用Rtmp音视频推流

一、前言 本文介绍的是使用Android 摄像头、麦克风采集的音、视频进行编码。然后通过librtmp推送到流媒体服务器上的功能。 我所使用的环境:Android Studio 2.2.3 、Window 10二、流程 三、代码ManActivity.javapublic class MainActivity extends AppCompatActivity implements Sur

2017-01-17 16:02:08 20148 49

android移植好的polarssl静态库+源码

静态库在 ssl.zip中的lib文件夹下

2017-04-12

android 移植好的librtmp 2.4

其中 libs 目录下是生成的动态库,使用的时候可以提出 so文件,和需要的头文件。就可以使用了。Android.mk Application.mk buils.sh 是我写的用来移植的mk文件以及脚本

2017-01-12

andorid_ffmpeg+x264

android 移植好的动态库,加libx264编码器

2016-12-30

android 网路请求

一个简单的网络请求框架

2016-08-17

VC编写软件

C语言编写软件 完整汉化版,完美支持XP系统,

2012-11-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除