首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPMoviePlayerController拉伸/扭曲直播视频(m3u8)

MPMoviePlayerController拉伸/扭曲直播视频(m3u8)
EN

Stack Overflow用户
提问于 2011-04-20 00:16:22
回答 2查看 3.1K关注 0票数 1

我正在使用MPMoviePlayerController为iOS 3.1.2播放直播流m3u8视频。它以全屏方式打开,这很好。但是,通常在播放10-20秒后,屏幕会自动调整大小。屏幕保持宽度不变,但会缩小高度,从而导致图像变窄、拉伸。不过,在播放预先录制的mp4视频时,我没有遇到这个问题。

你知道是怎么回事吗?知道怎么解决吗?

下面是我的代码:

MyViewController.h:

代码语言:javascript
复制
#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>

@interface WatchNowViewController : UIViewController {
    MPMoviePlayerController *mMPPlayer;
}
@property (nonatomic, retain)           MPMoviePlayerController *mMPPlayer;

@end

MyViewController.m:

代码语言:javascript
复制
mMPPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://www.mysite.com/myVideo.m3u8"]];
mMPPlayer.scalingMode=MPMovieScalingModeFill;
mMPPlayer.backgroundColor=[UIColor blackColor];
[mMPPlayer play];
EN

回答 2

Stack Overflow用户

发布于 2011-04-20 01:52:02

MPMovieScalingModeFill不保留纵横比。如果希望保留纵横比,则应使用MPMovieScalingModeAspectFit或MPMovieScalingModeAspectFill。

有关所有模式的信息,请查看MPMovieScalingMode documentation

票数 2
EN

Stack Overflow用户

发布于 2011-04-20 07:15:02

在mpeg-ts流的报头中有纵横比字段。如果存在此选项,则无论报告的宽度和高度如何,MPMoviePlayerController都会拉伸视频。错误的值将产生失真的视频。我不确定为什么这只会发生在20年后,但MPMoviePlayerController是一个可怕的类(特别是在iOS 4.0之前),所以谁能说得清……如果使用FFmpeg创建mpeg-ts流,则可以使用-aspect %f设置纵横比。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5719465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档