
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前面介绍了Android jni 相关知识,但jni最终还是要调用的第三方的C/C++库,这里我们以ffmpeg为例,介绍第三方C/C++如何编译成android 版本。一、基本原理关于Android平台C/C++代码编译的方法:自己开发的C/C++代码,直接在android studio开发和编译,与jni代码操作方法一致,jni本质就是C/C++代码,只不过调用关于jni的特殊函数,遵守JNI

IPC出来的码率都是RTP码流,可能是裸的H264,也可能是PS流。如果要推流的话,有2种方案可以选择1.直接解析出h264帧数据,然后封装成RTMP协议进行推流。2.利用ffmpeg实现,ffmpeg拉流通过av_read_frame得到h264帧,然后将264帧封装成RTMP的tag进行推流。前者实现有一定工作量,需要自己解析264,封装成RTPMP包。代码自研,可控可扩展,稳定有保障。而后者
介绍mysys2+mingw环境编译ffmpeg的基本步骤

前面我们跑了webrtc的peerconnection_client的demo,体验了webrtc的视频通话效果,本文从代码框架上梳理该demo的结构,为后面深入学习webrtc协议做好准备。一、代码结构从文件结构上:该demo分为:main.cc,main_wnd.cc.,conductor.cc,peer_connection_client.cc四个文件。其中:main.cc: 进程入口,负责
AAC音频格式详解和实战解析一.基本概念AAC:即MPEG-2 Advanced Audio Coding,分为流格式和文件格式。文件格式主要用于文件存储和文件播放,流格式主要用于流媒体在线播放。文件格式:adif格式adif格式该格式特点:只有开头有一个头部信息,后面都是AAC裸数据。适应磁盘存储和文件播放流格式:adts_frame格式adts_frame格式该格式特点:每一帧数据=固定头(f
前面完成了视频RTMP推流实践,本文介绍RTMP的音频推流,包括AACg711a,g711u三种场景音频推流。基于前面的视频推流实践,我们新增了推流AAC,g711a,g711u的三个接口。分别为SendAAcData(),sendg711a_audio(),sendg711u_audio(),对外提供API调用。接口类对外定义如下:classWrapper_RtmpLib{public:Wrap
/*modify by hfl 2014-2-16*//* Use the newer ALSA API */#define ALSA_PCM_NEW_HW_PARAMS_API#include#include#include#include#includeint main(int argc, char *argv[]){ long
Android 完成编译的时候先执行 source build/envsetup.sh。 在这个shell 脚本中定义了 help, croot, m, mm, mmm 等 function之后在当前目录下执行help 可以发现它给出的信息和此前见过linux 下面help 的信息不一样了:[plain]view plaincopyprint?Invoke
一.概述在音视频领域接触最多实现的方案通常是通过ffmpeg(PC和sever端居多)或者硬件厂家的的SDK实现特定硬件的编解码功能(机顶盒,电视等嵌入式设备)。这里我们介绍一个在国内不太常用的解决方案----gstreamer媒体库二.Gstreamer 的特点:gstreamer跟ffmpeg一样,也是一个媒体框架,可以实现采集,编码,解码,渲染,滤镜等一条龙的媒体解决方案。跟ffmpeg一样
/*modify by hfl 20140216*/#define ALSA_PCM_NEW_HW_PARAMS_API# include# include# include# include# include "mad.h"#include#include#include#include#include#inclu







