<Linux+Qt>Qt4编程控制mplayer嵌入自定义界面监控或视频显示

   在各种努力下,终于解决了这个说大说不小的问题,可编程嵌入第三方视频软件mplayer到界面中,并控制其大小和位置。

  思路是使用QProcess,开启Mplayer进程,将其在Qt代码中以后台方式执行。

  经过搜索网络及查看Linux manu,Mplayer后台运行的终端指令为-slave,但这个参数在多次尝试下未能成功。同时,通过往运行的界面窗口中加入视频监控是可以成功的,查看正在运行窗口ID的Shell指令为xwininfo。

  

//展开视频
#define VIDEO_0 /dev/video0
#define VIDEO_1 /dev/video1
    str1 = "mplayer -tv  driver=v4l2:device="+(QString)VIDEO_0;
    str2 = "mplayer -tv  driver=v4l2:device="+(QString)VIDEO_1;
    mstr = ":noaudio:input=2:norm=I:outfmt=I420 tv:// -wid ";
    ws1 = QString::number(w1->winId());
    ws2 = QString::number(w2->winId());

    p_1->start(str1+mstr+ws1);
    p_2->start(str2+mstr+ws2);

就这么简单,开启的指令为-tv,嵌入界面的指令为-wid,获得界面id,作为-wid的参数即可,注意I与L的区别,有时慌乱中容易出现很诡异的错误,转了一圈又回到原点,调代码就是在转圈圈前进的过程。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值