Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMP-iOS如何接入软编码?

视频流媒体中视频数据的传输占据了绝大部分的带宽,如何提升编码效率、减小带宽使用、提升画面质量,成为音视频开发者努力的重点。随着互联网、流媒体技术的发展,兼容支持H.264、H.265编码器(可减少计算的复杂性、提高压缩率,并降低编码时间)已经成为迫在眉睫的事。

EasyRTMP推流功能特点

- 调用简单

无论是个人开发者还是企业级应用,只需要简单的几个接口调用就可以完成一套完整的互联网直播应用的上架

- 功能完善

配套完整的直播、录像、旋转功能示例,用户直接复用即可选择嫁接自定义功能

- 运行高效

高效缓冲和发送设计模式,能非常灵活地让用户自定义延时和缓冲区的大小

EasyRTMP-iOS如何接入软编码?

分析问题

这个编码方式是基于ffmpeg,所以需要引入ffmpeg库。

解决问题

app中新增加了libx264.a,可以使用切换软编码的方式了。软编码的使用方法在X264Encoder类中,编码方法是:

(void)encoding:(CMSampleBufferRef)sample

编码后的数据的回调方法如下:

(void)gotX264EncoderData:(NSData *)packet keyFrame:(BOOL)keyFrame timestamp:(CMTime)timestamp error:(NSError*)error;

那么软编码的流程和硬编码的流程是一样的。

关于RTMP推流组件

EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP推流功能组件,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、ARM、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,能够应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。

结合EasyDSS流媒体服务器,为开发者提供专业、稳定的直播推流、转码、分发服务,全面满足低超低延迟、超高画质、超大并发访问量的要求。

原文地址:https://www.cnblogs.com/TSINGSEE/p/11792009.html

时间: 2024-11-06 03:55:31

Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMP-iOS如何接入软编码?的相关文章

Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMP之如何搭建EasyRTMP-Android推流至EasyDSS测试环境

Real Time Messaging Protocol(RTMP)即实时消息传输协议,是 Adobe 公司开发的一个基于 TCP 的应用层协议,目前国内的视频云服务都是以 RTMP 为主要推流协议. EasyRTMP推流功能特点 - 调用简单 无论是个人开发者还是企业级应用,只需要简单的几个接口调用就可以完成一套完整的互联网直播应用的上架 - 功能完善 配套完整的直播.录像.旋转功能示例,用户直接复用即可选择嫁接自定义功能 - 运行高效 高效缓冲和发送设计模式,能非常灵活地让用户自定义延时和缓

Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMP- iOS接入后,进入预览界面系统直接崩溃的原因分析

在接入EasyRTMP-iOS时,进入预览界面直接崩溃,是什么原因? 分析问题: iOS系统对于权限控制的很严格,因为预览需要用到相机权限.麦克风权限等,都需要向用户申请这些权限. 解决问题: 在Info.plist文件中,添加如下权限申明,并描述清楚您的用途: <key>NSCameraUsageDescription</key> <string>此App会在推送视频流时访问您的相机权限</string> <key>NSMicrophoneUs

简单、高效、易用的全平台(Windows/Linux/ARM/Android/iOS)web实现RTMP推送组件EasyRTMP-Android BUS传递消息过程介绍

背景分析 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMP/RTMPS/RTMPE等多种变种.RTMP是一种设计用来进行实时数据通信的网络下ieyi,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信.RTMP推流,就是将直播内容推送到服务器的过程. EasyRTMP-Android BUS传递消息过程 提出问题EasyRTMP-Andro

简单高效易用Windows/Linux/ARM/Android/iOS平台实现RTMP推送组件EasyRTMP-Android MediaCodec硬编码流程介绍

音视频流媒体硬解码是指不使用CPU进行编码,使用显卡GPU,专用的DSP.FPGA.ASIC芯片等硬件进行编码.编码框架Video ToolBox和AudioToolbox. EasyRTMP是结合了多种音视频缓存及网络技术的一个rtmp直播推流端,包括:圆形缓冲区(circular buffer).智能丢帧.自动重连.rtmp协议等等多种技术,能够非常有效地适应各种平台(Windows.Linux.ARM.Android.iOS),各种网络环境(有线.wifi.4G),以及各种情况下的直播恢复

windows 10是如何做到全平台统一的?

1.EXE本身就是个容器,它可以在ARM平台上包含ARM的native code执行,也可以在x86平台上包含x86的native code执行,本质上无差别(所以麻烦那些说EXE不能在ARM平台上运行的同学自删答案可以吗?). 2.APPX文件里并不包含字节码,而是各种架构的native code的混合物,微软确实想用.net的字节码来统一天下,但现在大部分APPX文件都是native code. -------------------------正文---------------------

全平台轻量开源verilog仿真工具iverilog+GTKWave使用教程

前言 如果你只是想检查Verilog文件的语法是否有错误,然后进行一些基本的时序仿真,那么Icarus Verilog 就是一个不错的选择.相比于各大FPGA厂商的IDE几个G的大小,Icarus Verilog 显得极其小巧,最新版安装包大小仅有17MB,支持全平台:Windows+Linux+MacOS,并且源代码开源.本文将介绍如何使用Icarus Verilog来进行verilog文件的编译和仿真. 关于 Icarus Verilog Icarus Verilog是一个轻量.免费.开源的

windows phone和android,ios的touch事件兼容

1.开发背景 最近用html5写了个小游戏,中间踩过无数坑,有很多甚至百度都百度不到答案,可见html5还真是不成熟,兼容性的复杂度比ie6有过之而无不及,性能那个渣简直无力吐槽.. 好了,吐槽结束,虽然有这么多的缺点,但是由于其良好的跨平台前景以及极低的学习成本,再加上优秀的框架,我最终还是选择了用html5来开发这个小游戏,而且是小游戏,所以就没有用什么游戏开发框架了,只是自己简单的封装了一个,因此所有的bug都被我走了一遍..正当我调试完所有的android上的bug之后,心想自己的努力不

IOS 之 PJSIP 笔记(一) 编译多平台支持的静态库

好久没有写博客了,这也算是我步入新工作后的第一篇技术博文吧.在进入新公司前,早就有了技术层进入下一个迭代的准备,但很多事情是意想不到的,就像我以 C# 程序员的身份面试入职的,而今却是一个全职的 IOS 开发.从 C# 到 Objective-C 的切换,还是有不少成本的,加上今年又推出了 Swift,以后要学习的路是漫长的,其实,学习的路本身就是漫长的,不应该满足于一个阶段和特定领域.对我而言,语言的切换,已经太常见了,学习一门语言是很容易的事情,但,完全的掌握它,却不是易事,就像去摸清一个陌

Amazon SNS移动推送更新——新增百度云推送和Windows平台支持

Amazon SNS(Simple Notification Service)是一种基于云平台的消息通知和推送服务.SNS提供简单的 Web 服务接口和基于浏览器的管理控制台让用户能够简易设置.运行并从云中发送消息通知和推送服务.它为开发人员提供高度可扩展.灵活并且经济高效的从应用发布消息的功能,并立即将这些消息推送给订阅者或其他应用程序. SNS主要提供两大类服务:一种是消息通知服务(Notification),其主要是通过主题/订阅的模式,用短信(SMS).邮件.HTTP/S请求.SQS队列