如何计算视频比特率?
问题描述:
在iPhone中开发视频压缩功能。我开发了这个功能,但是关于比特率计算的一些混淆。如何计算视频比特率?
我使用波纹管方法进行视频压缩。
1. AVAsset
2. AVAssetTrack
3. AVAssetWriterInput
4. AVAssetWriter
5. AVAssetReader
6. AVAssetReaderOutput
7. AVAssetTrack
8. AVAssetReader
我们可以得到原始视频的视频比特率吗?
答
通过AVAsset的轨道循环,确定它是什么样的音轨(音频/视频),并使用AVAssetTrack的“estimatedDataRate”属性来获取文件的平均比特率。事情是这样的:
AVAsset *asset = [AVAsset assetWithURL:url];
for(AVAssetTrack *track in asset.tracks)
{
if([track.mediaType isEqual:AVMediaTypeVideo])
{
videoBitrate = track.estimatedDataRate;
}
if([track.mediaType isEqual:AVMediaTypeAudio])
{
audioBitrate = track.estimatedDataRate;
}
}
http://stackoverflow.com/questions/18199018/programatically-get-the-bitrate-of-an-audio-file http://stackoverflow.com/questions/2159663/how -to-get-specific-information-about-media-files-duration-bitrate-fps-etc – Tirth
http://stackoverflow.com/questions/4929825/how-can-i-read-the-properties-of-an -audio-文件的目标-C换IOS – Tirth