博主双修Android,iOS底层库开发也有好几年了,一直盼望Android平台能有Xcode那样强大的IDE,尽管Eclipse的ADT插件也能很好的代码提示,自动补全,但每次新开类生成javah文件也是比较头疼的。

Android Studio从1.3版本开始说是加强NDK的接入,引入了『com.android.tools.build:gradle-experimental』,从功能使用上来看还是挺好的,比如能在java层自动生成对应的jni方法,并能在java和c\c++之间函数跳转,还能自动生成一些简单的env操作,比如转换String类。但是,这个gradle-experimental的写法和默认的gradle差别太大,到博主发这篇帖子是,AS2.1.2仍然还在开发这个插件。AS 2.2 preview版已经可以支持cmake和mk的编译了,而且cmake作为新建项目时勾选c++支持的默认形式了,难道要放弃gradle-experimental 🙁 。目前还不支持代码提示,跳转这些基本操作,后面的版本应该会加强吧。

另外还有一个比较严重的问题,Android Studio好慢,越来越慢了,经常导入一个项目卡半天,最后只能强制退出。项目编译起来,i7-4790都觉得用起来卡。博主到现在仍然使用最经典的Eclipse Indigo,哈哈。

废话完了,现在帖正题,Eclipse其实也是很强大的,我这里利用Ant脚本来实现自动化编译javah头文件。继续阅读

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: Eclipse开发Android-NDK项目自动生成javah头文件

鉴权验证在自建直播流媒体服务端应用中是非常重要的。用以防止非法推流,控制收费播放盗链等场景。
目前各大直播云平台都支持url参数形式的鉴权验证法,例如rtmp://serverhost/app-name/stream-name?key=md5(secret+expires_timestemp)&time=expires_timestemp 这种既有私密key,又有时间戳过期判断的最简单形式,当然还能根据使用场景增加其他判断条件。
Nginx-Rtmp模块作为rtmp直播流媒体服务端,本身没有这种鉴权验证法,但能通过Notify 转为本地的http请求,使用Nginx内置的ngx_http_secure_link_module即能达到同样效果。

首先利用Nginx-Rtmp的on_play通知,将rtmp的播放事件通知到本地的http处理上来继续阅读

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: RTMP流媒体服务端应用开发系列 – Nginx-Rtmp鉴权设置

上个月第发布的最新版3.1,特性太多,高亮几个做移动多媒体开发的关注点

  • DXVA2-accelerated HEVC Main10 decoding
  • fieldhint filter
  • loop video filter and aloop audio filter
  • Bob Weaver deinterlacing filter
  • firequalizer filter
  • datascope filter
  • bench and abench filters
  • ciescope filter
  • protocol blacklisting API
  • MediaCodec H264 decoding
  • VC-2 HQ RTP payload format (draft v1) depacketizer and packetizer
  • VP9 RTP payload format (draft v2) packetizer
  • AudioToolbox audio decoders
  • AudioToolbox audio encoders
  • coreimage filter (GPU based image filtering on OSX)
  • libdcadec removed
  • bitstream filter for extracting DTS core
  • ADPCM IMA DAT4 decoder
  • musx demuxer
  • aix demuxer
  • remap filter
  • hash and framehash muxers
  • colorspace filter
  • hdcd filter
  • readvitc filter
  • VAAPI-accelerated format conversion and scaling
  • libnpp/CUDA-accelerated format conversion and scaling
  • Duck TrueMotion 2.0 Real Time decoder
  • Wideband Single-bit Data (WSD) demuxer
  • VAAPI-accelerated H.264/HEVC/MJPEG encoding
  • DTS Express (LBR) decoder
  • Generic OpenMAX IL encoder with support for Raspberry Pi
  • IFF ANIM demuxer & decoder
  • Direct Stream Transfer (DST) decoder
  • loudnorm filter
  • MTAF demuxer and decoder
  • MagicYUV decoder
  • OpenExr improvements (tile data and B44/B44A support)
  • BitJazz SheerVideo decoder
  • CUDA CUVID H264/HEVC decoder
  • 10-bit depth support in native utvideo decoder
  • libutvideo wrapper removed
  • YUY2 Lossless Codec decoder
  • VideoToolbox H.264 encoder

包括了iOS平台上的硬件编解码AAC,硬件编码H.264,Android平台的硬件解码,树莓派的OpenMAX IL硬编码器。官方强烈建议各位升级 :D。

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: FFmpeg 3.1 发布