基于VLC SDK的二次开发

vlc音视频开发(二)环境搭建(VS篇) 来源:微信公众号「编程学习基地」 文章目录简介VS配置vlc开发环境下载vlc源码创建vlc环境测试vlc代码运行vlc程序 简介 VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。 由于VLC是完全开源的,所以我们可以获得所有的项目源码,并在此基础上进行二次开发 VLC的官网:http://www.videolan.org/ VLC源码下载地址:http://download.videolan.org/pub/vid.. 阅读详情

最近一直想总结一下vlc的二次开发,因为项目前期采用的方案是使用vlc提供的windows下sdk,因此打算利用该sdk,实现一个播放器功能,所以尝试了一下vlc的二次开发,发现其实也很简单,vlc的sdk已经封装了大部分的实现,我们知道vlc在处理时采用了命令方式,因此在封装过程中比较关键的是如何设置封装参数,下面就进行一下总结,希望对大家有用。

首先:在vlc的网站上下载含有sdk的vlc文件目录,由于vlc不断的升级,可能版本以及sdk接口都会发生一下变化,不过思想原理是一样的:
vlc首先要初始化一个实例:
定义变量:

 libvlc_exception_t m_libvlc_ex;                 ///< vlc处理异常句柄
 libvlc_instance_t* m_plibvlc_Instance;          ///< libvlc 实例对象
 libvlc_media_t*    m_plibvlc_media;             ///< media对象
 libvlc_media_player_t* m_plibvlc_media_player;  ///< vlc播放器对象

定义输入5个参数:

char *vlc_argv[5] = {'\0'};

 char szCach[125];
 sprintf(szCach, "--rtsp-caching=%d", nRtspCachTime); // 缓冲时间

 vlc_argv[0] = "--ignore-config";
  vlc_argv[1] = "--vout=direct3d";
  vlc_argv[2] = "--aspect-ratio=5:4"; 
 vlc_argv[3] = szCach;
 vlc_argv[4] = strFullArgc;

其中最后一个参数如何得到的呢,这就是我们要创建一个播放器的主要参数:
如果你仅仅是播放参数,则该参数可以置为空,但是如果想保存收到的rtsp视频流,则需要初始化该参数为下面的方式,其中strSavePath为保存路径
sprintf(strFullArgc, "--sout=#duplicate{dst=std{acess=file,mux=ts,dst=%s}}", strSavePath);

然后把参数赋值为 vlc_argv[4] = strFullArgc;

使用上述参数初始化播放器:

// 初始化异常处理变量
 libvlc_exception_init(&m_libvlc_ex);

// 创建并初始化一个libvlc实例
 m_plibvlc_Instance = libvlc_new(5, vlc_argv, &m_libvlc_ex);

 
 // 根据给定的媒体文件(链接地址或者文件地址)创建一个media对象,
 m_plibvlc_media = libvlc_media_new(m_plibvlc_Instance, m_pStrUrl, &m_libvlc_ex);
 
 // 根据给定的媒体对象创建一个播放器对象
 m_plibvlc_media_player = libvlc_media_player_new_from_media(m_plibvlc_media, &m_libvlc_ex);

设置播放窗口:
libvlc_media_player_set_hwnd(m_plibvlc_media_player, (void*)hwnd, &m_libvlc_ex);

其中的hwnd为窗口句柄:
下面就可以播放了:
libvlc_media_player_play(m_plibvlc_media_player, &m_libvlc_ex);

停止播放:
  // 停止播放对象
  libvlc_media_player_stop(m_plibvlc_media_player, &m_libvlc_ex);

VLC播放器Android工程二次开发指南:LibVLC集成与Gradle构建要点 Android视频播放开发中,VLC凭借强大的解码能力和跨平台特性成为高兼容性选择。其Android工程采用应用层-封装层-原生内核三层架构,Java/Kotlin代码通过LibVLC的JNI接口控制底层C/C++解码库。开发者在拿到VLC Android项目源码后,常需面对Gradle版本矩阵、NDK工具链、ABI适配及预编译AAR与源码编译的取舍问题。理解LibVLC的依赖注入机制和播放器初始化参数,能有效解决RTSP拉流卡顿、硬解兼容性等实际场景。本文从工程识别、构建链路、定制修改到验收校验,系统梳理 阅读详情

相关推荐

海康威视Linux二次开发全指南:SDK移植、RTSP取流与实战排坑

视频监控系统开发中,设备接入是基础且关键的一环。海康威视Linux二次开发并非高深难题,核心在于理解设备网络SDK(NET_DVR)与RTSP/ONVIF协议的工作原理。SDK提供完整的设备控制能力,如登录、云台控制、录像下载;RTSP则适合快速拉流与跨平台集成。从Linux环境下的SDK依赖移植、Makefile配置,到设备发现、登录取流、抓图与历史录像下载,每一步都有明确的工程实践方法。通过VLC验证拉流、telnet排查端口、错误码速查等技巧,可高效定位网络与兼容性问题。本文结合一线踩坑经验,适用于C

weixin_42639246的博客 266

基于windows的VLC二次开发

开发视频播放器一般可以基于ffmpeg,其与目前大部播放器的关系可以是万能发动机与汽车的关系。VLC播放器的编解码库就是ffmpeg。利用VLC现有的sdk可以快速,简便的开发出满足需要的视频播放器。VLC具有丰富、强大的命令行参数,使用者可以方便地进行转码、IO重定向(文件、网络。。。)等等,本文演示如何开发一个简单视频播放器。 1. 首先,从http://download.vid

1562

VLC_3.0.12的完整SDK包_可以进行VLC二次开发.7z

这是VLC_3.0.12的完整SDK包_可以进行VLC二次开发。 参考文章:https://blog.youkuaiyun.com/xiaolong1126626497/article/details/115174182

VLC播放器Demo(录像,截图等功能),Android播放器Demo可二次开发。ffmpeg-Kit (录像,截图,合流播放,合流推送,等一些列视频操作功能),可二次开发。

基于VLC的播放器(Android 录像,截图,新增ffmpeg 录像截图等命令行功能),可做二次开发,支持在点播或者直播播放的时候:录像,截图功能。支持RTSP,RTMP,HTTP,HTTPS等等。支持所有CPU架构。

tongzhengtong的博客 1895

开源VLC二次开发的播放器

基于开源的VLC播放器进行二次开发,分享出来,便于学习与产品用

MPC-CBF 控制原理详解

假设系统满足如下离散时间动力学模型xt1fxtutxt∈Xut∈Uxt1​fxt​ut​xt​∈Xut​∈Uxtx_txt​:状态变量,定义域为可行状态集X⊆RnX⊆Rnutu_tut​:控制输入,定义域为控制约束集U⊆RmU⊆Rm系统需满足安全约束,由如下控制障碍函数(CBF)hX→RhX→RCx∈X∣hx≥0C:=x∈X∣hx≥。

m0_54691290的博客 1184

vlc二次开发之开发自己的播放器sdk二次开发

最近一直想总结一下vlc的二次开发,因为项目前期采用的方案是使用vlc提供的windows下sdk,因此打算利用该sdk,实现一个播放器功能,所以尝试了一下vlc的二次开发,发现其实也很简单,vlc的sdk已经封装了大部分的实现,我们知道vlc在处理时采用了命令方式,因此在封装过程中比较关键的是如何设置封装参数,下面就进行一下总结,希望对大家有用。首先:在vlc的网站上下载含有sdk...

dengjun5258的博客 480

关于【中孚计算机终端保密检查系统】的卸载

卸载中孚计算机终端保密检查系统

码农之路,向死而生 4万+

cygwin 编译 android vlc,基于vlc sdk的二次开发--环境搭建、编译

前言关于 搭建、编译VLC,不同的平台有不同的方法,可以参考wiki。其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin。通过测试,最后决定采用MSYS+MinGW搭建VLC编译环境(多次测试, 通过且不需要额外的修改)。详细步骤请参考 wiki注:文本编辑建议使用notepad2替代windows原有的notepad,并在保存文件前选择“文件->行末符号-&gt...

weixin_42523104的博客 406

从零到一:鲲鹏920服务器上的DeepSeek模型部署全流程解析

本文详细解析了在华为鲲鹏920服务器上部署DeepSeek模型的全流程,包括环境准备、模型服务框架部署、性能优化及生产环境方案。通过ARM架构优化和量化技术,显著提升模型推理效率,适用于企业级AI应用场景,助力国产化技术落地。

weixin_29094775的博客 599

Win11下Wezterm配置Powershell默认终端全攻略(含主题同步技巧)

本文详细介绍了在Windows 11系统中,如何安装和配置Wezterm终端模拟器,并将其设置为PowerShell的默认终端。内容涵盖使用Winget或手动安装Wezterm,通过修改.lua配置文件切换默认Shell,并同步Campbell主题配色以还原熟悉的PowerShell视觉体验,旨在帮助开发者打造高效、个性化的命令行工作环境。

weixin_28363123的博客 1229

基于vlc sdk的二次开发--环境搭建、编译

前言   关于 搭建、编译VLC,不同的平台有不同的方法,可以参考wiki。   其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin。通过测试,最后决定采用MSYS+MinGW搭建VLC编译环境(多次测试, 通过且不需要额外的修改)。   详细步骤请参考 wiki 注:文本编辑建议使用notepad2替代windows原有的notepad,并在保存文件前选择“文件-&...

weixin_30650039的博客 359

COD论文笔记VSCode: General Visual Salient and Camouflaged Object Detection with 2D Prompt Learning

VSCode模型通过引入领域特定提示和任务特定提示,结合提示区分损失,成功地在单一模型中处理多个显著目标检测和伪装目标检测任务。这种方法不仅提高了模型的性能,还展示了其对未见任务的泛化能力。作者使用 Visual saliency transformer ICCV 2021 作为baseline model这张图展示了VSCode模型的整体框架,特别强调了2D提示学习方法。

985小菜鸡 1628

VLC3.0.16sdk添加录像接口win32介绍:为VLC媒体播放器增添录像功能

VLC3.0.16sdk添加录像接口win32介绍:为VLC媒体播放器增添录像功能 去发现同类优质开源项目:https://gitcode.com/ 在数字媒体处理领域,VLC媒体播放器以其强大的功能和开源特性赢得了广泛的认可。然而,标准版的VLC SDK 并不直接支持录像功能,这限制了某些特定应用场景的使用。本文将为您介绍一款开源项目——VLC3.0.16 sdk添加录像接口(win32),它为...

gitblog_06793的博客 855

【ShaderToy】开篇

写在前面呜呼,好久没有写博客了,好惭愧。题外话,感觉越大就越想家,希望可以一直和家人在一起,哪怕只是坐在一起不说话也觉得很温暖,一想到要分开眼睛就开始酸,哎。开学还是爬上来老实更新博客学习吧~今天爬上来一看,发现优快云的博客编辑终于更新了!进步总是好的,以前的编辑器实在很捉急。使用这种标记语言的确方便了很多,但好像颜色字体没法设置?程序员果然对美观没什么追求。ShaderToy如果你还没听过Sha

candycat 8万+

PCL点云八叉树体素中心下采样,体素包含点索引提取

基于PCL octree实现点云八叉树计算,支持提取体素中心点进行点云下采样;根据任一点坐标,可以得到其在八叉树中的位置,输出对应体素内其余点的坐标或者索引

qq_48694523的博客 463

vlc sdk下载

vlc之前的版本下载播放器安装完在安装目录就有完整的sdk,可以直接进行开发,但是后来没有了, 其实可以在这里下载 http://download.videolan.org/pub/videolan/vlc/ 如图所示

QIUCHUNHUIGE的博客 537

【目标检测】IoU(交并比)详解及代码实现

1. IOU概述        IoU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率-,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。 2. IoU计算        IoU等于“预测的边框”和“真实的边框”之间交集和并集的比值。IoU计算如下图,B1为真实

Roaddd的博客 2万+

qt linux下实现vlc视频,vlc音视频开发(一)环境搭建(qt篇)

来源:微信公众号「编程学习基地」简介VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。由于VLC是完全开源的,所以我们可以获得所有的项目源码,并在此基础上进行二次开发qt配置vlc环境下载vlc源码点击下载地址选择win64/win32,我选的是win64,下载.7z结尾的,我下载的是vlc-2.2.4-win64.7z...

weixin_39661129的博客 928

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Qt5+VLC视频播放器资源包

Qt5+VLC视频播放器资源包 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源包提供了一个基于Qt5和VLC库实现的视频播放器的完整项目。资源包内包含源代码、可执行程序以及VLC SDK(版本3.0.6),旨在供开发者参考和交流使用。 内容 源代码:使用Visual Studio开发的源代码,方便开发者进行二次开发和学习。 可执行程序:已经编译好的可执行文件,可以...

gitblog_09790的博客 394

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

VLC for Android 二次开发资料

Shirlman的博客 简单的VLC for android SDK – VideoView 如何打包vlc for android sdk library VLC二次开发的一个播放器源码 官方资料 官网vlc for android: http://www.videolan.org/vlc/download-android.html 官方源码VLC-Android: https://...

浪潮之巅的专栏 2180

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

使用vlc再开发的备忘录

刚刚写完的东西为了怕很快就忘做下笔记。 官网的指导:VideoLAN Streaming Howtohttp://www.videolan.org/doc/streaming-howto/en/index.html  载入vlc过程大致如下:详情参考:http://jeremiah.blog.51cto.com/539865/184115 去官网下载zip包

lastdanc的专栏 1313

基于libVlc库的播放器

最近公司要做个一个流媒体的播放器,但只是个杂活,不想花太多精力在上面,而vlc是一款开源的播放器,有成熟的接口为开发者提供二次开发的接口。但几乎网上关于它的资料模糊不清,有付费的,并不太清楚,于是自己整理一份,末尾附上代码。

k673656的博客 1254

鸿蒙NEXT下RTSP/RTMP播放器选型:SmartMediaKit 对决四大经典方案

鸿蒙NEXT下,RTSP/RTMP播放器选型需谨慎:大牛直播SDK全自研内核、鸿蒙原生适配,延迟仅100-200ms,适合专业场景;FFmpeg需巨量自研开发,延迟约800m-1000s;VLC与PotPlayer无鸿蒙原生版本或完全不可用;ijkplayer社区移植存在黑屏、花屏及高延迟问题。对于安防、工业等低延迟关键业务,大牛直播SDK是当前最优选。

大牛直播SDK 857
上一篇: Android ListView和ListAdapter
下一篇: r.java文件没有生成
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值