相关疑难解决方法(0)

如何检查iOS中的分辨率,视频比特率

我正在开发一个功能上的视频压缩; 我的想法如下:

  1. 获得视频的分辨率和比特率.
  2. 检查视频的分辨率.如果它更大640x480,我会将这个视频压缩一半,并将比特率调整为1/4.例如,如果视频的分辨率为1920x1080,则将其压缩为960x540,将4xps的1920x1080压缩为960x540,速度为1mbps.

我有几个问题:

  1. 如何在iOS中获得视频的分辨率和比特率?
  2. 如果将1920x1080压缩到一半到960x540,比特率也会自适应调整,还是我还需要手动设置比特率?怎么办?

我尝试下面的代码压缩视频,但我不知道它压缩到哪个分辨率:

- (void)convertVideoToLowQuailtyWithInputURL:(NSURL*)inputURL
                                   outputURL:(NSURL*)outputURL
                                     handler:(void (^)(AVAssetExportSession*))handler
{
    [[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil];
    AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:inputURL options:nil];

    AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset: urlAsset presetName:AVAssetExportPresetLowQuality];
    session.outputURL = outputURL;
    session.outputFileType = AVFileTypeQuickTimeMovie;
    [session exportAsynchronouslyWithCompletionHandler:^(void)
     {
         handler(session);

     }];
}
Run Code Online (Sandbox Code Playgroud)

请给我一些建议.提前致谢.

cocoa-touch objective-c avfoundation ios avassetwriter

13
推荐指数
3
解决办法
1万
查看次数

检测AvPlayer何时切换比特率

在我的应用程序中,我使用AVPlayer读取一些带有HLS协议的流(m3u8文件).我需要知道在流式传输会话期间,客户端切换比特率的次数.

我们假设客户端的带宽正在增加.因此客户端将切换到更高的比特率段.AVPlayer可以检测到此开关吗?

谢谢.

http-live-streaming ios avplayer

7
推荐指数
2
解决办法
4904
查看次数