macos - AVFoundation (AVPlayer) 支持的格式?没有 .vob 或 .mpg 容器?

标签 macos video avfoundation avplayer

在此处的 Mac 应用程序中使用 AVPlayer 全屏播放文件夹中的随机视频,但是当我尝试播放 .vob 文件或 .mpg 文件时,我只会看到黑屏,黑屏的持续时间与视频持续播放的时间一样长。

AVFoundation 不支持从这些容器播放吗?我认为,由于它们可以使用标准的 QuickTime Player 播放,因此它们也可以使用 AVPlayer。

最佳答案

AVURLAsset class有一个静态方法,您可以查询支持的视频 UTI:

+ (NSArray *)audiovisualTypes

在 10.9.1 上,它返回这些系统定义的 UTI:

  • 公共(public).mpeg
  • public.mpeg-2-video
  • public.avi
  • public.aifc-audio
  • public.aac 音频
  • public.mpeg-4
  • public.au-audio
  • public.aiff-audio
  • public.mp2
  • public.3gpp2
  • public.ac3-audio
  • public.mp3
  • public.mpeg-2-传输流
  • public.3gpp
  • public.mpeg-4-audio

这是一个 explanation of system UTIs .所以看起来至少应该支持 .mpg 容器。

According to wiki , .mpg 文件可以包含 MPEG-1 或 MPEG-2 视频,但仅支持 MPEG-2 视频。所以也许这就是加载文件但未显示任何内容的原因。

QuickTime 内部使用 QTMovieModernizer为了以旧格式播放视频(如 this WWDC session 中所述),所以也许您可以研究一下。它甚至有一种方法来确定文件是否需要现代化:

+ requiresModernization:error:

关于macos - AVFoundation (AVPlayer) 支持的格式?没有 .vob 或 .mpg 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879981/

相关文章:

java - Eclipse Organize Imports 快捷方式在 Mac 上不起作用

java - 以编程方式将视频转换为 FLV

iphone - AVAudioPlayer:声音重叠

ios - 使用 cordova 在 iOS 中播放图库中的视频

ios - AVAsset 维度 : track's naturalSize is not the size off the exported video

iphone - 延迟 20 秒从 iPhone 摄像头播放实时视频流

objective-c - 如何动态填充 NSOutlineView 的列?

mysql - 如何从 Vagrant VM Box 连接到本地 MacBook MySQL?

python - 将 Tkinter GUI 卸载到 Mac OS 上的另一个线程会产生挂起的窗口

ios - YouTube 嵌入视频无法启动