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

Chr*_*men 13 macos video avfoundation avplayer

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

AVFoundation不支持从这些容器播放吗?我认为既然他们可以使用QuickTime Player库存,他们也可以使用AVPlayer.

Jan*_*ins 17

AVURLAsset类具有您可以查询所支持的视频尿路感染的静态方法:

+ (NSArray *)audiovisualTypes
Run Code Online (Sandbox Code Playgroud)

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

  • public.mpeg
  • public.mpeg -2-视频
  • public.avi
  • public.aifc音频
  • public.aac音频
  • public.mpeg-4
  • public.au音频
  • public.aiff音频
  • public.mp2
  • public.3gpp2
  • public.ac3音频
  • public.mp3
  • public.mpeg -2-传送流
  • public.3gpp
  • public.mpeg -4-音频

以下是系统UTI说明.所以似乎至少应该支持.mpg容器.

根据wiki,.mpg文件可以包含MPEG-1或MPEG-2视频,但仅支持MPEG-2视频.所以也许这就是文件加载但没有显示的原因.

QuickTime内部使用QTMovieModernizer来播放旧格式的视频(如本WWDC会话中所述),所以也许你可以调查一下.它甚至有一种方法来确定文件是否需要现代化:

+ requiresModernization:error:
Run Code Online (Sandbox Code Playgroud)