【问题标题】:Compute emgu video size manually手动计算 emgu 视频大小
【发布时间】:2016-10-17 12:49:47
【问题描述】:

我正在使用emgu 来保存未压缩的视频。 VideoWriter("video.avi", 0, (int)FrameRate, frameSize, true); 0 值表示保存的视频将被解压缩,请参阅here。此外,FrameRate aws 设置为 30。 存储的Mat 文件为:var mat = new Mat(480, 640, Emgu.CV.CvEnum.DepthType.Cv8U, 3)。对于13994 帧的存储视频,属性窗口显示:9.29 GB (6,449,164,288 bytes)(windows)。现在我正在尝试手动验证视频大小:

640*480*3*13994= 12,896,870,400 bytes,窗口属性返回的两倍。

您能否对此有所了解?

媒体信息信息

General
Complete name                            : name.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Format profile                           : OpenDML
File size                                : 6.01 GiB
Duration                                 : 7 min 46 s
Overall bit rate                         : 111 Mb/s
Writing application                      : Lavf56.36.100

Video
ID                                       : 0
Format                                   : YUV
Codec ID                                 : I420
Codec ID/Info                            : 8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes.
Duration                                 : 7 min 46 s
Bit rate                                 : 111 Mb/s
Width                                    : 640 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate                               : 30.000 FPS
Compression mode                         : Lossless
Bits/(Pixel*Frame)                       : 12.000
Stream size                              : 6.01 GiB (100%)

谢谢。

【问题讨论】:

  • 使用 mediaInfo 之类的工具向我们展示有用的信息,例如视频编解码器、比特率、帧率、视频轨道大小、音频轨道大小等。 .
  • @VC.One 我已经进行了请求的更改,希望现在对您有所帮助。感谢您的回复。

标签: video emgucv


【解决方案1】:

今晚晚些时候我会仔细研究它,但现在你能确认emgu 是否每帧使用 4 个字节(32 位整数),即使你的像素类型是 24 位 RGB?

Formula = Width * Height * 3 (rgb) * 21658 (frames) * 4 (ie: 32bit Int) / 8 (bits per byte)

使用上面的公式我可以得到一个接近的数字...

640 * 480 * 3 * 13994 * 4 / 8 = 6,448,435,200

结果:

on disk size    : 6 449 164 288 bytes (Windows) 
calculated size : 6 448 435 200 bytes (Formula) 
remainder size  :       729 088 bytes (possible AVI Header size as bytes?)

暂时只是一个快速的,因为我不想涉及比特率等问题。通常文件大小会给出比特率,反之亦然。但据您估计,在制作文件之前,您不会知道实际的比特率,所以在我能正确考虑之前,以上是我最好的猜测......

PS:MediaInfo 可以显示标题大小(以字节为单位)以确认最后一个 剩余大小 数字。

【讨论】:

    猜你喜欢
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多