开一个RTMP 流媒体服务端开发系列的坑,主要用到Rtmp-Nginx, Linux平台。

需求:推流端发布后,播放端只希望拉取播放纯音频或视频流。

分析:这种需求可能是为了效仿映客直播分离音视频流来播放的方法。从抓包来看,映客使用http-flv的CDN加速直播流,形如
http://pull.a8.com/live/1458696839457751.flv?only-video=1
http://pull.a8.com/live/1458696839457751.flv?only-audio=1
有什么好处? 不确定,估计播放端网络卡时,可以断开视频流但保持码率不大的音频流,体验较好。 还有一种可能是方便做纯音频类应用,播放端只想听到音频,虽然可以不解码视频,但是视频的数据也不想拉下来,节省移动数据流量。

思路:使用Nginx-Rtmp的exec来调用ffmpeg,在服务端分离rtmp流。

实现:继续阅读

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

本文链接地址: RTMP流媒体服务端应用开发系列 – Nginx-Rtmp分离音视频流

http://ffmpeg.org/releases/ffmpeg-3.0.tar.bz2

最值得关注是,本次更新内置的AAC编码器终于成为稳定版。移除了vo-aac 和libaacplus

载录一些更新特性

– Common Encryption (CENC) MP4 encoding and decoding support.

– New filters: extrastereo, OCR, alimiter, stereowiden, stereotools, rubberband, tremolo, agate, chromakey, maskedmerge, displace, selectivecolor, zscale, shuffleframes, vibrato, realtime, compensationdelay, acompressor, apulsator, sidechaingate, aemphasis, virtual binaural acoustics, showspectrumpic, afftfilt, convolution, swaprect, and others.

– New decoding: DXV, Screenpresso SPV1, ADPCM PSX, SDX2 DPCM, innoHeim/Rsupport Screen Capture Codec, ADPCM AICA, XMA1 & XMA2, and Cineform HD.

– New muxing: Chromaprint fingerprinting, WVE demuxer, Interplay ACM, and IVR demuxer.

– Dynamic volume control for ffplay.

– Native AAC encoder improvements.

– Zero-copy Intel QSV transcoding.

– Microsoft DXVA2-accelerated VP9 decoding on Windows.

– VA-API VP9 hardware acceleration.

– Automatic bitstream filtering.

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

本文链接地址: FFmpeg 发布3.0版

之前FFmpeg-2.7.2编译了带硬件解码的windows版后,不少朋友留言,邮件等联系,需要更多的解码器和编码器,于是趁着2.8发布,编译了新版.
下载地址:https://github.com/illuspas/ffmpeg-hw-win32

ffmpeg 2.8
gcc 5.2.0
–enable-nvenc
–enable-libmfx
–enable-libfdk-aac
–enable-libspeex
–enable-libx264
–enable-libopenh264
–enable-libx265
–enable-libopus
–enable-libmp3lame

ffmpeg 2.8 h.264 codec

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

本文链接地址: FFmpeg-2.8 硬件H.264 编码器版 WIN32 编译版

此版本发布比较关注的Intel Quick Sync Video编解码器正式推出了,之前2.6的时候在master分支测试过。
相比较NVENC,之前也有测试过,就目前NV的显卡驱动,GeForce系列只支持同时两路编码会话,实在是吝啬,空有强大性能。同期测试过QSV,就没有这方面限制。
在做服务端流媒体实时转码的硬编码方面,QSV目前比较成熟。

————————————————–
下载博主编译的ffmpeg.exe:https://github.com/illuspas/ffmpeg-hw-win32

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

本文链接地址: FFmpeg 2.7发布,Intel Quick Sync Video编解码器已正式推出

HikToFms 是一款运行在windows服务器,从海康DVR或IPC取流并转码发布到Flash Media Server的程序.

同时,也支持绝大部分商用或开源RTMP流媒体服务器,如WOWZA,Evostream,Nginx-rtmp,srs等.

本程序对视频流进行了二次编码,在画质不变的情况下,码流可以减小一半以上.

同时优化了X86架构下的性能,实测xeon 8核,10路4CIF@12fps 编码占用CPU 10%~15%.

RTMP协议已被广泛应用于web客户端(只需flash插件),iOS,Android手机客户端,协议更标准,连接速度快,实时性好.

可应用但不限于以下场景.

幼儿园监控,为家长提供手机远程视频,观看宝宝动态,老师有没有打骂小朋友等.

社区监控,可为业主提供手机试试查看小区状况,停车位情况,

道路环境监控:在主要路段铺设摄像头,为车主实时查看路况提供信息,如天翼看交通应用.

厂房监控:厂房生产情况,老板实时远程查看,出差休息也能了解动态.

下载试用版:http://www.nodemedia.cn/zh/server/hiktofms/

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

本文链接地址: HikToFms v0.1

最近有个海康DVR转rtmp的项目,准备用openh264试试,相比x264性能非常强,但相同码率下画质不如x264

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

本文链接地址: 一段海康SDK解码回调后缩放并用openh264编码的代码

目前我使用的编译链
gcc: TDM-GCC-4.9.2
msys: 从MinGW中拷贝而来

./configure –target-os=win32 –arch=i686

windows下编译ffmpeg 2.6.1

windows下编译ffmpeg 2.6.1

开启NVENC硬件编码H.264
-enable-encoder=nvenc –enable-nvenc –enable-nonfree

ffmpeg 支持 nvenc 硬编码 H264

ffmpeg 支持 nvenc 硬编码 H264


继续阅读

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

本文链接地址: 如何在windows中编译ffmpeg 2.6.1 以及 NVENC硬编码的尝试

NodeMedia Dev Server是基于nginx-rtmp-module编译的windows版RTMP服务端完整实例。无需配置,一键运行,是您快速开发,测试,验证RTMP流的好帮手。
可以用来开发:视频直播间,音视频聊天,游戏直播,远程视频监控等。
包含以下实用工具:

  1. RTMP流媒体服务端
  2. Flash Rtmp流播放器
  3. Flash HLS直播流播放器
  4. Flash Rtmp摄像头视频发布器
  5. Flash 视频聊天Demo
  6. 批处理版的视频流循环发布器。

前往下载:http://www.nodemedia.cn/zh/nodemedia-dev-server

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

本文链接地址: NodeMedia Dev Server

实时的摄像头采集,实时编码,实时发布到流媒体服务器,进行视频直播。视频采用H.264,音频采用AAC,可根据需求发布480×360,320×240,240×180分辨率的视频。可控帧率,码率。320×240分辨率@10fps 中等质量,码率为160kbps左右,非恒定。cpu占用30%左右。
客户端使用Flash播放,跨平台兼容性好。
也可配合使用Android iOS SDK开发手机客户端。

  • 音频编码器:AAC,nellymoser,speex
  • 视频解码器: H.264
  • 协议:RTMP,RTMPT
  • ARMV7-A Neon加速
  • 极速精简内核,so库仅2.0M

前往下载:http://www.nodemedia.cn/zh/client/NodeMediaClient-Android/

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

本文链接地址: Android RTMP Live Encoder SDK

RTMP协议的实时视频播放客户端开发库,jni开发,java接口,可配合Adobe Flash Media Live Encoder 3.2或Android iOS直播发布端SDK进行实时视频直播。

  • 音频解码器:AAC,mp3,nellymoser,speex
  • 视频解码器: H.264,flv
  • 协议:RTMP,RTMPT
  • ARMV7-A Neon加速
  • 极速精简内核,so库仅1.4M

前往下载:http://www.nodemedia.cn/zh/client/NodeMediaClient-Android/

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

本文链接地址: Android RTMP Live Player SDK