首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 视频播放方式整理

初衷 ----       多媒体这整个系列的文章自己也准备好开始整理了,先从视频音频最简单也是最常用的播放出发慢慢的往下深究,探索到底层的编码解码等等,这篇文章就从视频播放这个最简单的说起。      ...iOS视频播放方式有几种?...最原始的播放 ----       要不是刚接触iOS开发的同学应该是知道MediaPlayer这个框架的,要是想简单的使用它播放视频,可能几行代码就能搞定了,它里面有一个MPMoviePlayerViewController...不过遗憾的是自从iOS 9.0开始,它是被Apple遗弃了的,9.0之后的项目建议用的我们下面再说,你要是有维护9.0之前的项目,可能它你也有必要了解一下,我们也介绍一个它的基本的使用,以及它里面的整个播放的代码逻辑...AVPlayer 控制视频播放, 暂停, 跳转 等等。 播放过程中获取缓冲进度,获取播放进度。 视频播放完成后做些什么,是暂停还是循环播放,还是获取最后一帧图像。

2.5K100
您找到你想要的搜索结果了吗?
是的
没有找到

EasyNVR平台视频流在iOS端显示黑屏,无法正常播放是什么原因?

EasyNVR平台是基于RTSP/Onvif协议的视频接入、处理及分发平台,可以分发出RTSP、RTMP、WS-FLV、HTTP-FLV、HLS 、WebRTC等格式的视频流,可实现在全终端(PC、手机...、平板、电子大屏/电视墙等)播放监控视频。...有用户反馈,EasyNVR在手机ios端出现了视频无法播放的情况,显示为黑屏状态,请求我们协助排查。我们在排查时发现,视频流在iOS端并无报错,但是手机端界面一直处于黑屏状态。...于是检查用户的配置中心,发现用户设置的默认播放协议为WS_FLV。但是,FLV协议在iOS端是无法播放的。iOS端目前只支持WebRTC和HLS两种协议。...所以,这里需要在起播时加入判断,如果为iOS端,且默认协议不是WebRTC或HLS这两种协议,那就默认赋值为HLS协议,以免用户无法观看到视频。修改后,上述用户的问题已经得到解决了。

51520

iOS视频播放的基本方法

本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案。...iOS播放视频.png 温馨提示:代码更直观,首先附上本文Demo 一、MPMoviePlayerController 1.播放视频 MPMoviewPlayerController继承于NSObject...:self]; } 2.视频播放相关的通知 MPMoviePlayerController有关视频播放的很多状态控制都是通过通知完成的,尤其是播放在线视频的时候,我们不仅监控视频加载是否成功,也会监控是视频缓存进度等...由于iOS9弃用前两种播放器类的原因,AVPlayerViewController也将变得更加常用。AVPlayerViewController适合开发播放界面要求不是很高的应用。...视频播放的基本方法,但这里也仅限一些基础的播放需求。

4.2K20

iOS视频播放(Audio Unit播放音频+OpenGL ES绘制视频

点播实现(H.264和AAC码流) HLS推流的实现(iOS和OS X系统) iOS在线音频流播放 Audio Unit播放PCM文件 Audio Unit录音(播放伴奏+耳返) Audio...Audio Unit & OpenGL ES.gif 正文 整体思路 demo包括三大部分,分别是资源加载、音频播放视频播放。...把音频数据转成AudioBufferList格式,再采用AudioUnit播放视频播放:从视频读取接口mReaderVideoTrackOutput加载视频信息得到CMSampleBuffer,用方法...3、视频播放 视频播放其实就是图像信息的绘制,从资源我们可以读取到图像信息,再把图像传给已经封装好的LYOpenGLView类,就可以绘制图像。图像信息占用内存较为明显,需要注意内存的回收。 ?...其中音频播放进度由Audio Unit驱动,视频播放进度由CADisplayLink驱动,为了保证视频进度不超过音频进度,添加了if (self.mVideoTimeStamp < self.mAudioTimeStamp

2.5K90

iOS 开发】同步快速判断视频是否可以播放

背景 拿到一个视频的 url 地址(无论是远程还是本地),有时候在播放之前需要检测该视频是否可以播放(本地可能是文件损坏,远端地址情况更复杂),下面介绍两种适用不同情况的方法来实现。..."readyToPlay" : "fail") } } } 如代码所示,我们可以使用 AVPlayer (MPMoviePlayerController 在 iOS 9 被 deprecated...) 尝试解析 url,进行视频播放。...如果你在这里需要直接使用这个 AVPlayer 进行视频播放,那么推荐使用这个 KVO 方法。...如果仅仅是想要判断视频播放性,而不需要使用 AVPlayer,建议使用这种方法,可以将 AVAsset 的创建逻辑加入到你的自定义播放器的 init 方法中。

2K20

iOS-视频播放器的简单封装

iOS-视频播放器的简单封装 封装视频播放器,首先需要了解视频播放器的实现,iOS9之前可以使用MediaPlayer来进行视频播放iOS9之后系统推荐使用AVFoundation框架实现视频播放...如果仅仅是播放视频两者的使用都非常简单,但是相比MediaPlayer,AVPlayer对于视频播放的可控制性更强一些,可以通过自定义的一些控件来实现视频播放暂停等等。...因此这里使用AVPlayer的视频播放。 封装视频播放器,首先需要实现视频播放器,然后再去考虑怎样封装可以让以后自己使用起来方便快捷。...视频播放器实现 布局完成之后,就是实现播放器功能,我们把播放器功能大致分为四部分来完成 一. 通过播放按钮实现视频播放。...具体代码会在播放时间、Slider与视频播放的同步中详细贴出。 三. 播放时间、Slider与视频播放的同步 底部工具条中播放时间、视频总时间以及Slider的滑动需要与视频播放时间进行同步。

1.8K110

iOS--React Native视频播放器插件

二:实现思路分析 原生视频播放器插件是需要实现打开js端调用播放方法传入的视频链接URL,具体的实现思路如下: 新建mediaPlay类,实现RCTBridgeModule协议 添加RCT_EXPORT_MODULE...()宏 添加React Native跟控制器 声明被JavaScript 调用的方法 创建一个视频播放控制器 创建一个视频播放图层 将视频播放图层添加到父控件图层 JavaScript调用浏览器方法 三...创建一个视频播放控制器 视频播放器是使用iOS原声来实现视频播放,创建一个视频播放控制器代码如下: -(AVPlayerViewController...将视频播放图层添加到父控件图层 //将视频播放图层添加到父控件图层 [_playerVC.view.layer addSublayer:playLayer];...//设置视频播放控制器的播放器为player _playerVC.player = player; 8.

1K10

开发那些事儿:Go转码H.265异常导致视频播放黑屏的解决步骤

在前期的文章中,我们和大家分享过关于EasyCVR平台视频流转码的功能,可支持将H.265视频流转码为H.264视频流。 今天和大家分享一下我们在开发与测试过程中遇到的问题及解决办法。...启动EasyCVR平台,播放视频时出现黑屏现象。 于是我们针对此情况进行了排查与测试。首先需要将转码成H.264的设置取消,观察不转码情况下视频是否正常播放。...在确认视频可正常播放后,表明转码过程出现了异常。 下图是大华SDK接入,初始化H.265转码设置,默认不开启转码。 此处进行判断视频流是否为H.265流,以及是否需要转码成H.264。...这样会导致发的流可能是H.265和H.264流,导致播放出现黑屏。...TSINGSEE青犀视频将不断聚焦于用户的需求,对旗下平台功能进行拓展和升级。

78810

RTSP协议视频拉流播放平台EasyNVR查看视频显示“加载中”并黑屏如何解决?

和HLS流,同时也实现在线播放。...有的客户在查看EasyNVR的时候,出现了无法查看视频的问题,视频显示为黑屏,没有提示,状况跟H.265版本无法播放的问题如初一辙。 ?...原因分析: 1、首先判断是摄像机的编码问题,因为一般有的用户使用265,当视频编码为265的时候4.0.0以下的版本无法进行播放,但是用户的摄像头为264,并不是265,所以排除了视频编码不对的问题。...2、这个问题的原因非常难找,因为在VLC中竟然都无法播放这个视频,而且在VLC中没有任何数据,也没有任何输出,所以,我们需要进入到服务器下进行查看参数是否正确,如下图所示: ?...VLC播放没有任何提示和报错。

1.1K50

html5的video在IOS端默认全屏和黑屏问题

ios端默认全屏解决办法 查阅资料说在在video标签加如下属性 无奈测试机是ios10...,上面这段代码在iOS8,9下生效 因项目是react工匠,不支持除data-*之外的自定义属性,需在compentDidMount加如下代码 this.videoElement.setAttribute...video自动播放黑屏 最开始产品需求是视频加载自动播放并且循环,导致快速切换页面再加载视频经常黑屏很长一段时间才能播放 寻求解决思路: 一.... 问题:依然存在黑屏,换成onplay尝试无解 网上说是videoview在加载第二个视频时 默认会释放到第一个视频的资源再加载第二个视频的资源 这个比较耗内存 会出现短暂的黑屏...更改需求^ ^ 因自动循环播放体验不友好,后期改为手动播放,添加poster,preload='auto'遂可以解决 playVideo() { this.videoElement.play(

5.1K40

H.265网页播放器EasyPlayer获取视频流正常,但是播放出现黑屏是什么原因?

EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。...为了满足用户在不同操作环境下的使用需求,EasyPlayer还具有Windows、Android、iOS版本,EasyPlayer.js还可支持Linux平台。...图片有用户在使用最新版播放器时,出现了视频流获取正常但是播放黑屏、不能正常播放的情况(如图)。针对用户的反馈,我们立刻进行了排查。...图片原来用户的视频流是H.265的格式,在H.265解码过程中,音频会出现问题,从而导致视频播放异常,出现画面黑屏的现象。图片在此处代码中增加禁用音频解码,修改后播放器的视频播放已经恢复了正常。...图片H.265网页播放器EasyPlayer不仅实现了视频实时录像的解决办法,而且还能支持在iOS上实现低延时直播,感兴趣的用户可以翻阅我们往期的文章进行了解。

1.4K20
领券