Qt 如何使用MediaInfo库获取视频文件信息,如分辨率时长编码格式等

Qt 如何使用MediaInfo库获取视频文件信息,如分辨率时长编码格式等,第1张

优酷高清转码标准

上传高清视频,会有较大机率享受高清转码, 并获得高清标识。

分辨率要求: 分辨率≧600X480

时长要求: 时长≧30秒。

码率要求:

以下视频码率≧1Mbps时: H264 / AVC(Advance Video Coding) / AVCHD / X264 通常使用MP4, MKV格式, 也有的使用FLV格式。 RV40 / RealVideo 9, 通常使用 RMVB 格式。 WMV3 / WVC1 / WMVA / VC-1 / Windows Media Video 9, 通常使用 WMV 格式 。

以下视频码率≧2Mbps时: MPEG-4 Visual / Xvid / Divx, 通常使用AVI, MP4 格式。

以下视频码率≧5Mbps时: MPEG-2, 通常使用MPEG / MPG / VOB 格式。 MPEG-1, 通常使用MPEG / MPG 格式。

安装Mediainfo 查看视频编码和码率。

上传视频格式及限制:优酷支持绝大多数的视频格式。

微软视频: wmv avi dat asf Real Player: rm rmvb ram

MPEG视频: mpg mpeg

手机视频: 3gp Apple

视频: mov Sony

视频: mp4 m4v DV

视频: dvix dv

其他常见视频: dat mkv flv vob ram qt divx cpk fli flc mod

上传的限制: 通过网页上传, 视频文件大小不能超过200M。 通过爱酷软件上传, 最大支持10G视频。

视频码率:超清标准是高清标准的15倍,符合的可获得超清标识。

高清分辨率≧600X480

超清分辨率≧960X720

当视频码率≧1Mbps时为高清,≧15Mbps时为超清,但各个网站的高清和超清要求也不相同。

____以上是帮你摘录的

(1)、中文编码一律使用QString::fromLocal8Bit()接口。

原因:需要支持QT4版本。QStringLiteral()方法也可取,但是它只支持QT5版本,如果没有版本问题,可以使用。

(2)、CPP等文件编码一律使用UTF8—BOM格式。

原因1:UTF8-无BOM在使用window编译器cl中编译会失败,当然除非你Windows中使用QT的Mingw版本编译开发。

原因2:不使用GBK的文件编码是为了更容易的兼容到linux版本与windows中,否则你需要改QtCreate的编码环境与linux的系统字符环境。

QT默认用的和你编码不一样,用utf8要改qt的环境设置,或者试试下面的。

QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));//设置中文字体编码

qt creator里面自带了文件编码格式转换的功能。

如果是指定代码中的字符编码格式,就用下面的代码:

 

QTextCodec

codec

QTextCodec

codecForName

linux一般默认就是Utf-8的语言,windows一般默认是gb2312的语言,fromLocal8Bit是获取本地语言类型转换,QString QString::fromLocal8Bit ( const char str, int size = -1 ) ,你确定一下你的str是什么编码吧。

简单来说:如果你的cpp文件保存的是utf-8的格式,fromLocal8Bit ("测试中文"),“测试中文”就是utf-8的字符,linux肯定就正常,windows肯定就不正常了

在进行Qt编程时,由于标准库中的cout函数是无法识别QString字符串的,因此如果我们想使用cout输出QString字符串,就需要将其转换为std::string。

2

/3

要想将QString转换为std::string格式,我们只需要调用QString的成员函数toStdString( ) 即可。

3

/3

下面是以上代码的输出结果。可以看到,使用cout完美输出了QString字符串。

二、转换到数值格式

1

/4

1、转换到int

如果想将QString转换为int,我们可使用QString的成员函数toInt,并传递两个参数。参数一为bool类型的指针,返回转换结果;参数二为int类型,表示进制。注意,由于这两个参数都有默认值,如果是10进制数字,我们也可以不用传递参数直接调用。

2

/4

例如,在上面的例子中,我们将字符串“123”转换为10进制的int值123。

3

/4

2、转换到float

同样,我们也可将QString转换为相应的浮点数。例如,如果想转换为float类型,则可调用toFloat成员函数。

4

/4

3、转换到double

如果想转换为double类型,则可调用toDouble成员函数。

注意事项

QString可转换的类型远不止我举例的这些,大家有兴趣的话,可以根据示例进行测试。

//主要是用到QTextStream的setCodec()函数

QFile file("intxt");

if (!fileopen(QIODevice::ReadOnly | QIODevice::Text))

return;

QTextStream in(&file);

insetCodec("unicode");

while (!inatEnd())

{

QString line = inreadLine();

//进行相关处理

}

以上就是关于Qt 如何使用MediaInfo库获取视频文件信息,如分辨率时长编码格式等全部的内容,包括:Qt 如何使用MediaInfo库获取视频文件信息,如分辨率时长编码格式等、Qt中文乱码问题怎么解决、Qt 开发,中文显示乱码。请看代码之后再下结论等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9663953.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存