iOS rtmp本地实现视频直播资料整理

搭建nginx+rtmp:
http://blog.csdn.net/a454431208/article/details/52780970
注:然后电脑上打开vlc这个播放器软件 点击File—->Open Network 在弹出来的框中选择Network然后输入URL:
rtmp://localhost:1935/zbcs/room" rtmp默认端口是1935,也可以自己设置成喜欢的
例如:rtmp://localhost:2016/rtmplive/room,这个要到对应的nginx.conf中修改

http{}后面
rtmp {
server {
listen 2016;
application rtmplive {
live on;
record off;
}
}
}

注:改了之后需要重启Nginx服务:nginx -s reload即可。

库:librtmp
播放器:ijkplayer就可以 git地址:https://github.com/Bilibili/ijkplayer

你就可以把ijkplayer拆了,自己实现通信协议,拿到码流,自己解码,自己显示,自己播放声音,按时间戳实现音视频同步,这个也好了的话,就去弄推流,推流协议不用管,只需要采集和推流。考虑到qos,推流前需要做个缓冲池,通过网络情况调整采集编码参数。

调整的最简单方式就是 预先配置几个配置,按照网络情况进行快降慢升。

最后整个流程大概就这么多,其实没多少东西,只是细节需要注意。

关于编解码的,苹果直接调用api就可以实现。

2016-11-24:
1、本地搭建一个ngnix+rtmp的服务器(具体看开头的博客地址)
2、手机和电脑是同一个网段
3、使用第三方的视频播放器(ijkplayer)https://github.com/Bilibili/ijkplayer 这个b站开源框架git地址
当然还有别人整理的demo,用来就可以直接播放;地址:http://www.jianshu.com/p/5218f8c952fb

注:demo中需要写播放地址的url(rtmp开头);这个url必须和电脑上临时搭建流的地址一样,这样就可以看到直播的视频了

首先:终端中FFmpeg推流命令:
1、本地视频播放流命令:ffmpeg -re -i /Users/charles_wtx/Desktop/鬼吹灯之黄皮子坟01.mp4 -vcodec copy -f flv rtmp://localhost:2016/rtmplive/room
2、桌面实时流命令:
1)将桌面录制或者分享,可以使用命令行如下:
ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:2016/rtmplive/room
2)桌面+麦克风
ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:2016/rtmplive/room
3)桌面+麦克风,摄像头拍摄到自己
ffmpeg -f avfoundation -framerate 30 -i "1:0" -f avfoundation -framerate 30 -video_size 640x480 -i "0" -c:v libx264 -preset ultrafast -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:2016/rtmplive/room

其次:
//这里必须写成实际电脑的ip地址。。。
NSString *path = @"rtmp://192.168.1.101:1935/zbcs/room";
[IJKVideoViewController presentFromViewController:self withTitle:@"正在播放:。。。" URL:[NSURL URLWithString:path] completion:^{
NSLog(@"播放器初始化完成!");
}];

未完待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [TOC] 基本知识FFmpeg 资源网站音视频流容器声道命令种类处理流程 下载 目录结构 模块列表显示所有可用的...
    Afra55阅读 1,383评论 0 1
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    sillen阅读 5,423评论 2 45
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    骚之哈塞給阅读 25,851评论 6 39
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    RichyLeo阅读 17,517评论 1 22
  • 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染采集: iOS系统因为软硬件种类不多, 硬件...
    未来的路就在那阅读 781评论 0 1