草庐IT

ios - AVPlayer 拉伸(stretch) HLS 视频的结尾

当AVPlayer到达视频结尾时(对于HTTP直播流),最后一帧会拉伸(stretch)以填充View。我如何绕过这种拉伸(stretch)?例如,假设视频是以纵向模式录制的。在较小的View中,视频将被装箱(带有黑色边框)。这很好,直到播放器到达流的末尾。最后一帧然后拉伸(stretch)以填充View,直到播放器重新启动。关于如何阻止这种情况发生的任何想法?编辑:请参阅下面我的回答。如果有人对什么是体面的解决方法有任何建议,我仍然愿意为此悬赏。 最佳答案 编辑:这已从iOS8开始修复。

ios - 使用 id3taggenerator 和 mediafilesegmenter 将定时元数据插入 HLS(HTTP 直播流)

我尝试将定时元数据插入.mov或.mp4视频文件。我确实在这里读到了它:LivestreammetadatareadinginAppleHTTPLiveStreaminghttp://jmacmullin.wordpress.com/2010/11/03/adding-meta-data-to-video-in-ios/https://developer.apple.com/streaming/基本上,我的问题是无论我尝试什么,我都能按预期获得生成的.m3u8和一堆.ts文件,没有任何错误,但我觉得没有插入元数据。让我详细解释一下我的工作。首先我生成一些id3标签如下:id3tagge

ios - AVPlayer HLS 直播流 IOS

我正在尝试使用HLS进行直播,但出现错误:error:Optional("Theoperationcouldnotbecompleted"),error:Optional(ErrorDomain=AVFoundationErrorDomainCode=-11800"Mediaformat-sampledescriptionisinvalid(e.g.invalidsize)"UserInfo={NSUnderlyingError=0x60000005b510{ErrorDomain=NSOSStatusErrorDomainCode=-12714"(null)"},NSLocalize

swift - 在暂停 AVplayer 之前调用 HLS 的 AVAssetDownloadDelegate 方法

我有这段代码可以下载音频流,按暂停键下载应该停止funcsetupAssetDownload(){letconfiguration=URLSessionConfiguration.background(withIdentifier:"downloadIdentifier")letdownloadSession=AVAssetDownloadURLSession(configuration:configuration,assetDownloadDelegate:self,delegateQueue:OperationQueue.main)leturl=NSURL(string:"http

iOS 恢复 HLS 下载并删除部分下载的文件

我正在根据AppleDocs实现HLS流式传输但我面临的问题是当用户终止应用程序时恢复下载。如果下载正在进行并说它已完成50%并且用户终止了该应用程序或应用程序由于任何原因被系统终止并且当该应用程序再次存在时那么didCompleteWithError的URLsession委托(delegate)被称为funcurlSession(_session:URLSession,task:URLSessionTask,didCompleteWithErrorerror:Error?){}这里我没有部分下载的文件路径或恢复任务的能力。下载完成后通过以下委托(delegate)调用调用下载文件的唯

swift - 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

基本上,我正在尝试在CocoaSwift中使用AVPlayer播放m3u8(HLSLiveStream)。我对这门语言比较陌生,所以基本上捕获了一些examplecode用于播放本地视频文件并尝试修改它以播放实时流......但是改为:http://i.stack.imgur.com/bU9GM.png这是我到目前为止得到的(注释行是播放本地文件,它确实有效):importCocoaimportAVKitimportFoundationimportAVFoundationclassViewController:NSViewController{@IBOutletweakvarplaye

iOS 离线 HLS 文件大小

在iOS10中,Apple添加了离线HLS。在文档中,他们提到:Important:DownloadedHLSassetsarestoredondiskinaprivatebundleformat.Thisbundleformatmaychangeovertime,anddevelopersshouldnotattempttoaccessorstorefileswithinthebundledirectly,butshouldinsteaduseAVFoundationandotheriOSAPIstointeractwithdownloadedassets.似乎对有关这些文件的信息的

ios - 使用 avplayer 播放 AES 加密的 hls 流 - ios swift

我正在尝试在AVPlayer中播放AES加密流。通常,key链接会传送到M3U8播放列表中的播放器。在我的场景中,key被分成两半。前半部分已传送通过服务器,我应该将另一半附加到应用程序中以在播放时解密我已经在Android上完成了这个,有没有办法在iOS上也这样做?这是播放列表:#EXTM3U#EXT-X-VERSION:3#EXT-X-STREAM-INF:BANDWIDTH=200000,RESOLUTION=284x160chunklist_w670540365_b200000.m3u8?t=57b5b16d3824d#EXT-X-STREAM-INF:BANDWIDTH=85

ios - 未调用 HLS 缓存的 AVAssetDownloadDelegate 方法

我已按照给定的教程进行操作here用于HLS缓存,但控制永远不会到达任何委托(delegate)(AVAssetDownloadDelegate)。我错过了什么吗?这是我写的代码-(void)setupAssetDownloader{NSURL*assetURL=[NSURLURLWithString:@"STREAMING_HOST/video/hls/3729170.m3u8"];AVURLAsset*hlsAsset=[AVURLAssetassetWithURL:assetURL];urlSessionConfiguration=[NSURLSessionConfigurati

javascript - HTML5 视频 : How to test for HLS playing capability? (video.canPlayType)

我有通过HLS传送的视频。现在我想用JavaScript测试设备是否真的可以播放HTML5中的HLS视频。通常在Javascript中我会做类似的事情document.createElement('video').canPlayType('video/mp4')但是我不知道哪种“类型”适合HLS。Apple'sSafariHTML5AudioandVideoGuide似乎建议“vnd.apple.mpegURL”(“list1-7回退到IE的插件”)....但是canPlayType("vnd.apple.mpegURL")即使在可以完美播放实际HLS流的iOS设备上也返回一个空字符串