现在非常流行直播,相信很多人都跟我一样十分好奇这个技术是如何实现的,正好最近在做一个ffmpeg的项目,发现这个工具很容易就可以做直播,下面来给大家分享下技术要点:首先你得编译出ffmpeg运行所需的静态库,这个百度一下有很多内容,这里我就不多说了,建议可以用Github上的一个开源脚本来编译,简单粗暴有效率。地址:GitHub - kewlbear/FFmpeg-iOS-build-script
转载 2024-07-07 09:36:40
9阅读
系列:iOS开发-OC基础介绍Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。 GCC与Clang含Objective-C的编译器,Objective-C可以在GCC以及Clang运作的系
随着网络基础建设的发展和资费的下降,在这个内容消费升级的时代,文字、图片无法满足人们对视觉的需求,因此视频直播应运而生。承载了实时性Real-Time和交互性的直播云服务是直播覆盖各行各业的新动力。 《视频直播:Windows中各类画面源的截取和合成方法总结》 《视频直播关键技术:流畅、拥塞和延时追赶》《短视频技术详解:Android端的短视频开发技术》直播架构想必了解过直播的人都清楚直播主要分为
转载 2023-07-25 16:47:50
219阅读
前言一般来说,一个界面展示的图片的比例是不相同的,而为了让图片展示得比较好看——没有拉伸变形,也没有缩小后上下的黑边,尽量让图片按实际大小的比例展示,而且很多网页喜欢用这样瀑布流的布局。备注:这个实现方法有个限制,必须在布局前拿到图片的宽高长度或者是宽高比例。如果是本地资源就比较好办,但如果是网上下载的图片资源,则需要下载完成后才能进行布局,或者是在请求接口返回下载链接时,后台一并返回宽高。&nb
今天给大家带来一个使用tableView实现抽屉打开与关闭的效果,其实tableView这个控件在我们日常开发中使用的频率很高,比如“游戏需要显示他的服务器列表,新闻需要显示它的新闻概略列表等”,但是它可不是单单简单的给你提供一个显示列表的功能,这样太大才小用了,感兴趣的朋友可以去查查UITableView的API函数你就会发现,哇~原来有这么多功能强大的函数,真是相见恨晚啊。利用UITableV
IPC是Inter-Process Communication的缩写,意为进程间通信或者跨进程通信,是指两个进程进行数据交换的过程。下面就介绍一下IPC 的几种方式:1.Bundle 这种方式使用的是比较多的,也是很常见的。四大组件中的三大组件(Activity,BroadcaseReceiver,Service)都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcela
# 在 iOS实现 Singleton(单例模式) ## 前言 单例模式是一种常见的设计模式,它确保一个类只有一个实例,并提供全局访问点。尤其在 iOS 开发中,单例模式常用于管理共享资源(如网络请求管理器、数据库管理器等)。在这篇文章中,我将带你逐步实现一个简单的 iOS OC 单例,并详细解释每一步所需的代码和步骤。 ## 实现流程 下面是实现单例模式的基本流程,我们可以用一个表格
原创 2024-10-07 04:08:38
106阅读
上一篇博客:(流媒体实现视频播放和下载功能):最近视频直播功能比较火,处于需求,研究了一番,根据分析决定使用流媒体实现,代码简单易懂,接下来看教程:简单介绍: HLS 协议 : >5M会被AppStore拒绝  服务器要求低   延迟高    多平台 RTMP 协议:  电视直播   PC端使用 &
转载 2024-08-26 23:27:57
76阅读
在开发一款直播app的过程中,会用到视频直播的框架,这里用的是ijkplayer这个开源框架,基于ffmpeg,支持Android和iOS等不同平台。下面就开始详细讲一下在iOS项目中如何集成ijkplayer框架。##一、下载ijkPlayer 去B站github主页下载ijkplayer源码下载地址打开下载demo,路径如下:##二、编译ijkPlayer步骤1.运行ijkPlayerMedi
一、 通过开源Demo,体验视频直播可能有些人,还不了解我们要实现的功能最后是怎样的。所以我们在 GitHub上提供一个开源的基础视频直播示例项目,在开始开发之前你可以通过该示例项目体验视频直播的体验效果。image622×1108 87.4 KB image608×1102 99 KB Agora 在 GitHub 上提供开源的互动直播示例项目 OpenLive-iOS-Ob
开篇 好久没写简书,因为好奇的我跑去学习直播了,今天就分享一下我的感慨。 效果图 展示页图 直播图 项目的框架 包括依赖库,第三方,和一些工具,主要代码分为三类,其中Live主要是直播的内容,PushStrem主要是推流的代码。 直播过程中的心得 直播中,利用的接口为网上提供的接口,把数据展示到tableview上后,显示效果见展示页面图,包括观看人数,主播名称地址,主播头像,主播大
转载 2024-04-25 12:40:13
136阅读
1.直播app原理直播原理:把主播录制的视频,推送到服务器,然后由服务器CDN分发给观众。2.直播app流程简单的流程:采集->滤镜处理->编码->推流->CDN分发->拉流->解码->播放 直播环节:推流端(采集、美颜处理、编码、推流)、服务端(转码、录制、截图)、播放端(拉流、解码、渲染)、互动(聊天、点亮、礼物)流程图如下:3.直播架构二、直播基础
# iOS OC 实现选择文件的完整指南 在这篇文章中,我将引导你如何在 iOS 的 Objective-C 中实现选择文件的功能。我们将会分步骤进行,首先了解整个流程,然后深入每个步骤,介绍所需的代码并进行详细注释。最后,我们会通过状态图和旅行图来总结整个过程。 ## 流程概述 下面是选择文件的主要步骤汇总: | 步骤 | 描述
# iOS OC实现多继承的教程 iOS中的Objective-C(OC)并不支持传统意义上的多继承,但我们可以使用协议(Protocol)和类的组合来模拟多继承的效果。在这篇文章中,我们将通过简单的步骤和代码示例,教会你如何在Objective-C中实现类似于多继承的功能。 ## 实现流程 | 步骤 | 描述 | |
原创 8月前
49阅读
中国官网 http://www.chinaopc.org/ 概述OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。OLE原意是对象链接和嵌入,随着OLE 2的发行,其范围已远远超出了这个概念。现在的OLE包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步推广。OP
AutoreleasePool自动释放池是如何运作的pop AutoreleasePool,根据名字可以知道这是一个自动释放池,起作用就是延缓自动释放池中对象的释放时机。 自动释放池是如何运作的在iOS开发中,最经常见到的AutoreleasePool就是存在于main函数中的这个:int main(int argc, char * argv[]) { NSString * appDe
转载 2024-07-18 12:46:48
103阅读
iso/osi 和tcp-ip协议本文为学习摘记 非教程并不全面,只是便于以后回顾,水平有限。iso/osi协议OSI是Open System Interconnection的缩写,意为开放式系统互联。分层数据格式功能与连接方式典型设备应用层 Application网络服务与使用者应用程序间的一个接口表示层 Presentation数据表示、数据安全、数据压缩会话层 Session会话层连接到传输
1. 项目背景注解源自于java,是在 JDK5 时引入的新特性,注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。注解类型定义指定了一种新的类型,一种特殊的接口类型。 在关键词 interface 前加 @ 符号也就是用 @interface 来区分注解的定义和普通的接口声明。注解的好处:I.减少重复代码的书写,相同逻辑统一处理,
转载 2023-10-22 22:11:55
207阅读
本文介绍如何使用 Agora SDK 快速实现互动直播。互动直播和实时通话的区别就在于,直播频道的用户有角色之分。你可以将角色设置为主播,或者观众,其中主播可以收、发流,观众只能收流。Demo 体验Agora 在 GitHub 上提供开源的互动直播示例项目 OpenLive-iOS-Objective-C 与 OpenLive-iOS-Swift。在实现相关功能前,你可以下载并查看源代码。Obje
转载 2024-02-02 20:04:05
125阅读
  直播架构想必了解过直播的人都清楚直播主要分为3部分:推流->流媒体服务器->拉流。而我们今天需要讲的就是推流这部分,它主要包括音视频采集,音视频前处理,音视频编码,推流和传输4个方面。但是由于网络的复杂性和大数据的统计,推流还需要有全局负载均衡调度GSLB(Global Server Load Balance),以及实时的统计数据上报服务器,包括提供频道管理给用
  • 1
  • 2
  • 3
  • 4
  • 5