11
在Mac应用程序中使用AVPlayer从一个文件夹播放全屏随机视频,但是当我尝试播放.vob文件或.mpg文件时,我只会看到一个黑屏,只要视频持续存在,就会持续显示。AVFoundation(AVPlayer)支持的格式?没有.vob或.mpg容器?
AVFoundation是否不支持从这些容器播放?我认为,由于他们可以与股票QuickTime Player一起玩,他们也可以使用AVPlayer。
在Mac应用程序中使用AVPlayer从一个文件夹播放全屏随机视频,但是当我尝试播放.vob文件或.mpg文件时,我只会看到一个黑屏,只要视频持续存在,就会持续显示。AVFoundation(AVPlayer)支持的格式?没有.vob或.mpg容器?
AVFoundation是否不支持从这些容器播放?我认为,由于他们可以与股票QuickTime Player一起玩,他们也可以使用AVPlayer。
的AVURLAsset class有可以支持的视频尿路感染查询静态方法:
+ (NSArray *)audiovisualTypes
在10.9.1返回这些系统中定义的尿路感染:
下面是一个explanation of system UTIs。所以似乎至少应该支持.mpg容器。
According to wiki .mpg文件可以包含MPEG-1或MPEG-2视频,但只支持MPEG-2视频。所以也许这就是为什么文件加载但没有显示。
QuickTime内部使用QTMovieModernizer以播放传统格式的视频(如this WWDC session中所述),因此您可以查看该视频。它甚至有一个方法来确定文件是否需要现代化:
+ requiresModernization:error:
我只是做了一个requireModernization:error:在这里的文件,并且我没有回来。 –
查看mpg文件,视频为MPEG-1。那么,自QTMovieModernizer拒绝之后,我该如何转换?对于mpg和vob都不会返回该类的方法,并且当我尝试仍然使用状态QTMovieModernizerStatusNotRequired完成文件的现代化时。 –
不确定,在这种情况下。我认为它一定是一些传统格式的错误。 也许你可以使用类似FFmpeg的东西来检查视频中的错误或获取更多关于它的信息(例如,查看'ffmpeg -i myfile.avi'输出的内容)。 然后,如果它报告错误,或者如果它报告文件处于某种意外的视频格式,则可以使用FFmpeg库将这些检查和/或转码整合到您的应用程序中。 –