在此处的 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/