QtAV icon indicating copy to clipboard operation
QtAV copied to clipboard

解码速度可以超过迅雷的sdk吗?

Open KnIfER opened this issue 4 years ago • 4 comments

用迅雷SDK做出的程序,体积小,解码快。用任务管理器查看,发现迅雷的sdk用的是 “GPU1 - video decode” gpu 加速。ffmpeg player是GPU0,用的不是独立显卡。

用Nvidia控制台强行设置 Player.exe 用高性能显卡,结果任务管理器查看为 “GPU1 - 3d”,解码速度无任何明显提升。

Screenshot (1116)

偏个题,为何要给商业GPL库免费打工,推荐纯Win32ui结合Wine的代码

KnIfER avatar Apr 25 '21 09:04 KnIfER

@KnIfER

用迅雷SDK做出的程序,体积小,解码快。

迅雷也是用FFmpeg,大家都一样。FFmpeg本身的大小是可以根据自己的需求调整的,QtAV的作者有提供精简版,就比原版小很多。体积减小肯定是有所舍弃的,比如有些格式会直接放不了,功能和大小不可能兼得的。

用Nvidia控制台强行设置 Player.exe 用高性能显卡,结果任务管理器查看为 “GPU1 - 3d”,解码速度无任何明显提升。

你强行用独显运行也没用,得开启硬件解码才行。现在的硬件都不差了,如果解码器相同,单纯切换显卡,应该效果不大。

FFmpeg和QtAV应该默认都是软解的,CPU占用和解码速度肯定不乐观,开启硬件解码后应该就能改善很多。

为何要给商业GPL库免费打工

你是指Qt吗?Qt有开源版本,不收费,文档和示例齐全,对个人开发者很友好,功能又很强大,为什么不用?而且Qt已经有几十年的历史,质量经过了大家的检验。你随便从哪找出一个第三方库,功能有Qt多吗?稳定性有Qt高吗?文档和示例详尽吗?如果比不过Qt,那为什么不用Qt?你要是怕以后Qt会突然闭源,你完全可以fork一份出来。

wangwenx190 avatar Apr 27 '21 09:04 wangwenx190

推荐使用新的sdk,解码、渲染的gpu都可以独立指定

wang-bin avatar Apr 27 '21 09:04 wang-bin

@wangwenx190 抱歉,我只是对作者提个问题,对后来者提个意见,没有贬低谁的意思,你无需问那么多反问、不必设那么多无端猜测。

你说的我都知道,不过我(ffmpeg.exe新手未入门)不就是不知道如何启用 video decode 才来提问的么?

据我所知 Qt 的开源版本开源协议很苛刻吧,我还是更热爱纯win32一些,毕竟 Qt 也需要调用win32 api才能支持windows平台,不是么?不是凭空就能支持跨平台的。纯win32更自由,任何界面都可以尝试着实现,功能方面可以调用开源界其他协议宽松的组件,后来者可加以改进,无需关心协议之掣肘。所以只有能力之分,不存在功能少、不稳定一说。

不同实现性能不同,我好奇QTav开启硬件加速是何种性能,仅此而已,请不要贬低我对事实真理的好奇,谢谢。

KnIfER avatar Apr 28 '21 07:04 KnIfER

据我所知 Qt 的开源版本开源协议很苛刻吧

Qt采用的是GPL和LGPL协议,和FFmpeg相同。你嫌Qt协议苛刻,那怎么还用FFmpeg?你以迅雷SDK举例,难道不知道它用的也是FFmpeg?既然你要做多媒体播放器,以你一个人的力量,如何绕过FFmpeg?

纯win32更自由,任何界面都可以尝试着实现

确实更加自由,但你实现一个界面的工夫,用别的框架可能都做完十几个界面了,人家说不定还有华丽的动画等特效,而且你的软件完全没法跨平台,深度绑定Windows。可别跟我扯什么WPF、UWP,那可不是“纯win32”。

只有能力之分,不存在功能少、不稳定一说

有用起来更省事的工具,为什么不用?

我好奇QTav开启硬件加速是何种性能

我没有严格对比过,还请你自行对比。具体的API可以去看头文件。

请不要贬低我对事实真理的好奇

何出此言?而且你好奇就可以口无遮拦了吗?

wangwenx190 avatar Apr 28 '21 07:04 wangwenx190