如何调用vlc activex控件

如何调用vlc activex控件,第1张

VLC调研
VLC控件支持的参数和方法
VLC对象列表
Vlc Plugin Object的方法
l VersionInfo:成员, 返回版本信息的字符串
l vlcversionInfo():方法, 返回版本信息的字符串
Audio object的属性(读写)
l vlcaudiomute :静音和非静音
l vlcaudiovolume:音量的百分比,值在0—200之间
l vlcaudiotrack:音轨信息,值在0-65535之间
l vlcaudiochannel:值在1至5整数,指示的音频通道模式使用,值可以是:“1 =立体声”,“2 =反向立体声”,“3 =左”,“4 =右” “5 =混音”。
l vlcaudiotoggleMute() : 方法,切换静音和非静音
Input object
只读属性
l vlcinputlength:毫秒数,输入文件的长度
l vlcinputfps:每秒产生一个浮动帧
l vlcinputhasVout:一个布尔值,返回true当视频正在显示,它返回false时不显示视频
l 读/写属性
l vlcinputposition:在多媒体流正常化的情况下,给定一个浮点值,值范围[00 - 10]
l vlcinputtime:在给定的时间以毫秒为单位的绝对位置,这个属性可以用来寻求流
<!-- absolute seek in stream !-->
vlcinputtime = <absolute seek>
<!-- relative seek in stream !-->
vlcinputtime = vlcinputtime + <relative seek>
l vlcinputstate:当前状态(空闲/关闭= 0,开幕= 1,缓冲= 2,打= 3,暂停= 4,停止= 5,错误= 6)
l vlcinputrate:输入速度,浮动的正常速度,05为速度的一半,为20快一倍。
Playlist object
只读属性
l vlcplaylistitemCount:目前播放列表中的项目的数量
l vlcplaylistisPlaying:一个布尔值,返回true 正在播放,false未播放
方法
l vlcplaylistadd(mrl):添加一个mrl(多媒体资源定位器)播放列表项目。mrl必须为字符串。
l vlcplaylistadd(mrl,name,options):添加mrl(多媒体资源定位器)播放列表项目,与meta的名字和选项。所有的输入值必须为字符串。
l vlcplaylistplay():开始播放当前列表项
l vlcplaylisttogglePause():切换当前播放列表项目的暂停状态
l vlcplayliststop():停止播放当前播放列表项目
l vlcplaylistnext():迭代到下一个播放列表项目
l vlcplaylistprev():迭代到以前的音乐项目
l vlcplaylistclear():清空当前播放列表,所有项目将被删除
l vlcplaylistremoveItem(number):删除给定的项目编号(number不能比vlcplaylistitemCount大)
Video object
只读属性
l vlcvideowidth:返回视频水平尺寸
l vlcvideoheight:返回视频垂直大小
读/写属性
l vlcvideofullscreen:当设置为true,视频将显示在全屏模式设置为false时,视频按指定的大小显示。该属性需要布尔值作为输入。
l vlcvideoaspectRatio:获取和设置长宽比使用视频屏幕。该属性采用字符串作为输入值。有效值为:“1:1”,“4:3”,“16:9”,“16:10”,“221:100”和“5:4”
方法
l vlcvideotoggleFullscreen():全屏模式切换
Log object
只读属性
l vlclogmessages:返回一个消息对象
l 读/写属性
l vlclogverbosity:写改变日志信息冗赘级别数[-1,0,1,2,3]。这些数字的含义如下:-1停用,0信息,1个错误,2警告,3调试。
Messages object
只读属性
l messagescount:返回日志消息的数量
l messagesseverity:数字,日志信息的严重程度(0 =信息,1 =错误,2 =警告,3 =调试)
l messagename:对VLC模块的名称印的日志信息(如:网址,directx,等等)
l messagetype:对模块类型的vlc印日志信息(如:input, access, vout, sout,等等)
l messagemessage:消息文本
方法
l messagesclear():清除当前日志缓冲区。
l messagesiterator():返回一个消息迭代器对象
Iterator object
只读属性
l iteratorhasNext:返回一个布尔值,表明还有下一个信息
方法
l iteratornext():返回下一个消息对象它的日志。
VLC可以实现的功能
l Vlc可以通过修改input属性,实现seek,快播,慢播
l 修改audio属性可以实现,声道设置、音量设置、静音
l 通过对video的设置,实现全屏/屏幕比例/屏幕大小的控制
l 通过PlayList对象的控制,可以实现添加、删除播放对象的功能
当前存在的问题
问题描述
l VLC对TS文件支持存在问题,VLC控件、获取不到时间进度信息虽然视频已经播放了很久,但时间始终是0。见图1、图2:
图1:VLC windows版
图2:vlc 网页插件版
分体分析
l VLC的input属性未能正常获取fps和time的值
导致结果
l 结束时间无法控制
l 进度条失效

一个视频文件在编码形成之后帧率是固定的,一般为24fps或者25fps,所以解码的时候是以编码的帧率进行播放的。你所问的用vlc设置播放帧率,以我的理解应该是不行的。如果要改变帧率,要重新进行一次转码。告诉编码器帧率。比如fps=240,当然应该可以给其它的值fps=120。这样转码之后的文件就是你设置的帧率。

其实这一块跟vlc关系不是太大,
主要是rtmp协议的问题,
通过简化rtmp协议相关,
可以大大缩短vlc获取第一块数据的时间,
从而也就缩短了延迟的时间。

将craverage设置为10000即可解决。
使用vlc播放一个非常不规范的网络视频流时,经常会遇到卡顿的情况,该参数名为平均时钟应用计数器,是个整数。
VLC播放器最新版是一款开源播放器app,支持ARMv7处理器,拥有音频和视频文件的媒体库,并允许直接浏览文件夹,快速创建自定义播放列表。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13362439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-22
下一篇 2023-07-22

发表评论

登录后才能评论

评论列表(0条)

保存