vlc音视频开发(一)环境搭建(qt篇)

来源:微信公众号「编程学习基地」

简介

  • VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。
  • 由于VLC是完全开源的,所以我们可以获得所有的项目源码,并在此基础上进行二次开发

VLC的官网:http://www.videolan.org/

VLC源码下载地址:http://download.videolan.org/pub/videolan/vlc/2.2.4/

测试代码参考雷神的博客:http://blog.csdn.net/leixiaohua1020/article/details/42363079

qt配置vlc环境

qt环境搭建教程

下载vlc源码

点击下载地址选择win64/win32,我选的是win64,下载.7z结尾的,我下载的是vlc-2.2.4-win64.7z
在这里插入图片描述
下载解压之后是下面这个样子

解压后找到sdk文件夹,这个文件夹非常重要

simple_libvlc_qt_player

第一次提交代码,最简单的libvlc播放器

  1. 创建控制台项目(参考qt环境搭建教程

  2. 配置.pro文件

在底部添加如下代码

win32{
    INCLUDEPATH += $$PWD/sdk/include
    LIBS += -L$$PWD/sdk/lib -llibvlc -llibvlccore
}else{
    INCLUDEPATH += /usr/local/include
    LIBS += -L/usr/local/lib -lvlc -lvlccore
}
  1. 配置sdk

将解压后的sdk文件夹复制到main.cpp文件夹下即可
在这里插入图片描述
测试代码见simple_libvlc_qt_player

运行结果播放cuc_ieschool.flv这个视频

  1. 测试代码
#include <QCoreApplication>
#include <Windows.h>
#include "vlc/vlc.h"

using namespace std;

int main(int argc, char* argv[])
{
    libvlc_instance_t* inst;
    libvlc_media_player_t* mp;
    libvlc_media_t* m;

    libvlc_time_t length;
    int width;
    int height;
    int wait_time = 5000;

    const char* version;
    version = libvlc_get_version();
    printf("version: %s\n", version);
    inst = libvlc_new(NULL, NULL);

    char filename[1024] = "../simple_libvlc_qt_player/cuc_ieschool.flv";
    //m = libvlc_media_new_location (inst,"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov" );
    m = libvlc_media_new_path (inst,filename);
    mp = libvlc_media_player_new_from_media(m);
    libvlc_media_release(m);
    libvlc_media_player_play(mp);

    //wait until the tracks are created
    _sleep(wait_time);
    length = libvlc_media_player_get_length(mp);
    width = libvlc_video_get_width(mp);
    height = libvlc_video_get_height(mp);
    printf("Stream Duration: %ds\n", length / 1000);
    printf("Resolution: %d x %d\n", width, height);
    //Let it play
    _sleep(length - wait_time);

    // Stop playing
    libvlc_media_player_stop(mp);
    libvlc_media_player_release(mp);
    libvlc_release(inst);

    return 0;
}
  1. 程序发布

simple_libvlc_qt_player文件夹下有一个release文件夹将里面的动态链接库放到打包的程序目录下即可发布

项目地址

GitHub项目地址:https://github.com/ADeRoy/libvlc_qt_demo

如果帮助到你,可以给个star

posted @ 2021-02-07 18:09  DeRoy  阅读(1138)  评论(0编辑  收藏  举报