当前位置: 首页 > news >正文

ios swift5 视频播放 播放视频失败 无法播放HEVC (H.265) 格式的视频 H.264格式的可以播放

文章目录

  • 1.问题
  • 2.原因:iOS swift AVPlayerViewController无法播放HEVC (H.265) 格式的视频
  • 3.解决方法用第三方框架MobileVLCKit来播放
  • 4.用MobileVLCKit写的播放器
  • 4.1 两个oc版本的
  • 4.2 两个swiftUI版本的
  • 5.苹果是支持HEVC (H.265) 格式的视频,是硬件那边在压缩视频的时候参数的设置有问题,需要硬件压缩视频的时候做一些调整

1.问题

Main thread blocked by synchronous property query on not-yet-loaded property (PreferredTransform) for HTTP(S) asset. This could have been a problem if this asset were being read from a slow network.

Asset is not playable

   @objc func buttonClicked() {guard let localVideoURL = Bundle.main.url(forResource: "sample1", withExtension: "mp4") else {MyPrint("Invalid URL")return}// 创建AVPlayerplayer = AVPlayer(url: localVideoURL)// 创建AVPlayerViewController并设置playerplayerViewController = AVPlayerViewController()playerViewController.player = playerpresent(playerViewController, animated: true) { [self] inplayer.play()}}

2.原因:iOS swift AVPlayerViewController无法播放HEVC (H.265) 格式的视频

3.解决方法用第三方框架MobileVLCKit来播放

vlc - github

pod 'MobileVLCKit'
pod install
import UIKit
import MobileVLCKitclass PlayerViewController: UIViewController {var mediaPlayer: VLCMediaPlayer?override func viewDidLoad() {super.viewDidLoad()// 设置媒体播放器mediaPlayer = VLCMediaPlayer()guard let mediaPlayer = mediaPlayer else { return }// 设置视频URLlet url = URL(string: "https://path/to/your/video.mp4")mediaPlayer.media = VLCMedia(url: url!)// 设置媒体播放器的显示区域mediaPlayer.drawable = self.view// 开始播放mediaPlayer.play()}override func viewWillDisappear(_ animated: Bool) {super.viewWillDisappear(animated)// 停止播放mediaPlayer?.stop()}
}

4.用MobileVLCKit写的播放器

4.1 两个oc版本的

iosMobileVLCKitDemo - gitee
WeLSee - github

4.2 两个swiftUI版本的

swiftui-vlc-video-player - github video MP4视频播放数据
VLCKitPlayer - github

5.苹果是支持HEVC (H.265) 格式的视频,是硬件那边在压缩视频的时候参数的设置有问题,需要硬件压缩视频的时候做一些调整

我用剪映导出的HEVC (H.265)的视频,用苹果电脑自带的播放器和safira浏览器是可以正常播放的。但是我们硬件那边产生的视频用苹果电脑自带的播放器和safira浏览器无法播放

http://www.lryc.cn/news/385990.html

相关文章:

  • 网工内推 | 网络工程师,IE认证优先,最高18k*14薪,周末双休
  • 【Qt】QMessageBox 各种对话框的默认显示效果
  • 一文弄懂线性回归模型
  • uniApp获取实时定位
  • linux的source命令
  • 特种作业操作证(焊接与热切割作业)2024年理论考试题库。
  • 免交互和嵌入执行模式
  • Hadoop版本演变、分布式集群搭建
  • 【Qt C++实现绘制仪表盘】
  • 一文看懂LLaMA 2:大型多模态模型的新里程碑
  • 基于Spring Boot构建淘客返利平台
  • Qt—贪吃蛇项目(由0到1实现贪吃蛇项目)
  • Java导出Excel并邮件发送
  • 【课程总结】Day12:YOLO的深入了解
  • 保护隐私,释放智能:使用LangChain和Presidio构建安全的AI问答系统
  • 【高考志愿】自动化
  • 技巧类题目
  • Vue3自定义指令参数修饰符值(3)
  • HTML(23)——垂直对齐方式
  • linux查看二进制文件
  • 营销翻车,杜国楹出面道歉,小罐茶的“大师作”故事仓皇结尾
  • linux server下人脸检测与识别服务程序的系统架构设计
  • 安装CLion配置opencv和torch环境
  • [leetcode]number-of-longest-increasing-subsequence
  • [MYSQL] MYSQL库的操作
  • 数字黄金 vs 全球计算机:比特币与以太坊现货 ETF 对比
  • 互联网直播/点播技术与平台创新应用:视频推拉流EasyDSS案例分析
  • 怎么在线电脑上做图片二维码?在线3步图片转活码的制作方法
  • lighttpd安装和配置https
  • 淘客返利平台的API设计与安全