iOS:AVPlayer显示黑屏,无法播放一些mp4视频

chy*_*hyf 6 video mp4 avfoundation ios avplayer

我在AVFoundation中使用AVPlayer在我的应用程序中播放mp4视频.大多数玩家都可以.但这两天我遇到了播放器无法播放的.mp4文件.它显示黑屏但没有任何图片.我很迷茫.这是.mp4文件的元数据.

General
Complete name                    : E:\test.mp4
Format                           : MPEG-4
Format profile                   : Base Media
Codec ID                         : isom
File size                        : 28.2 MiB
Duration                         : 1mn 30s
Overall bit rate                 : 2 613 Kbps
Encoded date                     : UTC 2015-01-09 13:55:04
Tagged date                      : UTC 2015-01-09 13:55:04

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 1 frame
Muxing mode                      : Container profile=High@1.3
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 1mn 27s
Bit rate mode                    : Variable
Bit rate                         : 2 675 Kbps
Width                            : 756 pixels
Height                           : 1 260 pixels
Display aspect ratio             : 0.600
Frame rate mode                  : Variable
Frame rate                       : 54.536 fps
Minimum frame rate               : 4.646 fps
Maximum frame rate               : 148.515 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.051
Stream size                      : 27.9 MiB (99%)
Title                            : VideoHandle
Language                         : English
Encoded date                     : UTC 2015-01-09 13:55:04
Tagged date                      : UTC 2015-01-09 13:55:04

Audio
ID                               : 2
Format                           : AMR
Format/Info                      : Adaptive Multi-Rate
Format profile                   : Narrow band
Codec ID                         : samr
Duration                         : 1mn 30s
Bit rate mode                    : Constant
Bit rate                         : 12.8 Kbps
Channel(s)                       : 1 channel
Sampling rate                    : 8 000 Hz
Bit depth                        : 13 bits
Stream size                      : 141 KiB (0%)
Title                            : SoundHandle
Writing library                  :    
Language                         : English
Encoded date                     : UTC 2015-01-09 13:55:04
Tagged date                      : UTC 2015-01-09 13:55:04
Run Code Online (Sandbox Code Playgroud)

chy*_*hyf 1

我终于找到了解决办法。设置avplayerItem的videoCompostion后,它就可以工作了。视频内容其实和视频是一样的。因此它正在播放内存中的预览合成,而不是视频文件。这是一个技巧。但我仍然不知道为什么 avplayer 显示黑屏。

  • 您能提供您的解决方案的代码吗? (4认同)