vlc嵌入QT程序<例>

想在linux用QT做一个实时的播放器,然后想到能不能把vlc嵌入到QT中,然后查资料,找到这个

http://wan-2004.javaeye.com/blog/645761

但是download下来之后,出现各种问题,经过繁琐的找资料和研究,得出肯能是vlc版本问题,原来的一些函数和变量现在不用了。

从上面得到的代码,整理好之后,把里面的关于_vlcexcep的声明和调用都去掉,然后把下面的代码改成我提供代码,


源代码

/* Create a new LibVLC media descriptor */
    _m = libvlc_media_new (_vlcinstance, file.toAscii(), &_vlcexcep);
    raise(&_vlcexcep);
    
    libvlc_media_player_set_media (_mp, _m, &_vlcexcep);
    raise(&_vlcexcep);

更改后:

    /* Create a new LibVLC media descriptor */
    _m = libvlc_media_new_location (_vlcinstance, file.toAscii());
   _mp = libvlc_media_player_new (_vlcinstance);
//    raise(&_vlcexcep);
    
    libvlc_media_player_set_media (_mp, _m);


源代码:

    #else //Linux
        libvlc_media_player_set_drawable(_mp, _videoWidget->winId() );
      //  libvlc_media_player_set_xwindow(_mp, _videoWidget->winId() ); // for vlc 1.0

更改后:

    #else //Linux
       // libvlc_media_player_set_drawable(_mp, _videoWidget->winId() );
        libvlc_media_player_set_xwindow(_mp, _videoWidget->winId() ); // for vlc 1.0

这样就可以使用了,( ⊙ o ⊙ )。


我还找到一个关于vlc很好的文档的地址:

http://www.videolan.org/developers/vlc/doc/doxygen/html/index.html





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
<html> <head> <script src="/libs/adapter.min.js"></script> <script src="/webrtcstreamer.js"></script> <script src="https://cdn" .bootcdn.net/ajax/libs/socket.io/4.6.1/socket.io.js"></script> <video id="video" src="example.mp4" 控件></video> <canvas id="canvas"></canvas> <script> var webRtcServer = null; window.onload = function () { webRtcServer = new WebRtcStreamer("video1", "http://192.168.6.199:8000"); //这里填写你自己部分的WebRtcStreamer服务地址 webRtcServer.connect("rtsp://admin:[email protected]:8554/Streaming/Channels/2501", "", "rtptransport=tcp&timeout=60"); //这里填可以经常预览的rtsp地址,可以先使用vlc或者其他软件测试一下地址的有效 }; 窗户。onbeforeunload = function () { webRtcServer.disconnect(); }; </script> </head> <body> <div style="width: 100%; height: 100%"> <video style="width: 1920px; height: 1080px" id="video1" autoplay="autoplay"静音 playsinline></video> </div> </body> </html> <script> var socket = null; function initWebSocket() { socket = io.connect("ws://192.168.6.199:5001/echo", { timeout: 300000, }); socket.on("connect", () => { console.log("建立链接"); socket.emit("videocv", {data: "我已连接!",sid:socket.id,url: 'rtsp://admin:[email protected]:8554/Streaming/Channels/2501'}); }); socket.on("disconnect", () => { console.log("连接断开"); }); socket.on("mydata", (msg) => { // 接收数据 console.log(msg); }); } initWebSocket(); </script>这是一段yolov5前端接收数据的代码,如何利用传出的数据画出密码框,写出对应代码
06-13

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值