对于我们正在进行的一个项目,我们计划使用一些多媒体框架,如VLC / Gstreamer来捕获和播放/渲染h.264编码的rtsp流。同样,我们使用我们构建的两个演示应用程序来观察VLC的性能(CPU和内存利用率)。其中一个演示应用程序使用mozilla vlc插件,我们在一个html网页上嵌入了多达四个h.264编码的RTSP流,而另一个演示应用程序只是调用vlc播放器并播放一个h.264编码的rtsp流。
我惊讶地注意到,结果如下(在Ubuntu 11.04上进行了测试):
演示2 (Mozilla VLC插件-4并行流)
演示2 (VLC播放器-1流)
我的问题是,为什么mozilla插件的CPU利用率较低,尽管它正在解码更多的视频流。
等待答复。
致以敬意,
索拉布·甘地
发布于 2013-05-08 10:22:41
我也在我的项目中使用插件,而且我对h264流也有问题。处理这种流的唯一方法是使用--ffmpeg-hw (用于vaapi使用),它只在独立的VLC (vlcplugin_base.cpp中的-no- Xlib标志)中工作。因此,我删除了该标志,并添加了XInitThreads(),它现在起作用了,但与性能级别相去甚远,并且除了no-xlib标志是有原因的(它可能会出现一些不想要的行为)。
因此,主要的问题是,您是如何得到这样的结果的,如果可能的话,可以与我和其他人共享您的配置标志。
我使用的系统是4核心CPU和nvidia离子图形。CPU核心保持在中等水平,但全屏幕上的流并不能顺利运行。如果在cvlc中运行相同的流,那么它的工作非常完美。在两个帐户中都使用ffmpeg-hw标志,没有任何警告消息(vaapi成功返回)。
发布于 2016-01-11 22:04:23
如果您有某种硬件加速,那么CPU只负责路由数据。
https://stackoverflow.com/questions/9091573
复制相似问题