vlc lib获取网络视频播放信息,包括视频和音频编码信息、时长、分辨率等出现异常,部分不可用

ChrisDev 发布于 2014/07/09 20:01
阅读 6K+
收藏 0
使用vlc 2.1.4版本
我在使用libvlc_media_tracks_get这个api时,出现了一个很奇怪的情况
其使用结构体:libvlc_media_track_t ,但是返回的数据量比如是2,即一个数组(有2个元素)有两个libvlc_media_track_t 
第一个libvlc_media_track_t 数据是正常的(如果是音频),而第二个libvlc_media_track_t 数据是异常的(则是视频),无法使用。用vlc播放这个网络视频则能够获取到以上的2个结构体信息。
加载中
0
ChrisDev
ChrisDev

哈哈,问题已解!  传递的三次指针返回后使用出现了一点问题

又有新的结论lib外部释放lib内申请的内存会死机

0
ChrisDev
ChrisDev

引用来自“chrlis”的评论

哈哈,问题已解!  传递的三次指针返回后使用出现了一点问题

又有新的结论lib外部释放lib内申请的内存会死机

。。。。。。
0
郎宇博
郎宇博
楼主您好  想请教下如何通过vlc获取视频的播放信息?
0
ChrisDev
ChrisDev

引用来自“郎宇博”的评论

楼主您好  想请教下如何通过vlc获取视频的播放信息?
您好,你可以参照一下vlc lib的官方说明。网络上比较多的都是比较早期的vlc lib例子,不太实用。
这里说一下网络播放的例子:
首先实用libvlc_new()一个实例,然后调用location的api将url设置进去,再将活个播放器实例丢到play的api中获得播放实例。设置后其他参数后就可以play了,使用cbk函数获取播放状态后就可以抓取播放信息了。希望有用,如果还是不行,明天给你一个例子
B
BOBO12345
听君一席话,胜翻百个CSDN博客,问题瞬间解决啊
郎宇博
郎宇博
谢谢楼主
0
c
clan525

楼主您好,vlc2.1.5 libvlc_media_tracks_get 为什么我获取的信息都是0.   还有同样的代码用vlc2.0.1的版本libvlc_media_get_stats 可以获取里面的信息,换成vlc2.1.5后libvlc_media_get_stats获取的信息都为0了.

c
clan525
回复 @chrlis : 2.2.0 libvlc_media_get_stats 怎么都是0,低版本的就有值。我播放的都是网络视频, 另外一个方法是转成C#代码调用有问题,目前视频的信息能得到了,就是音频的信息有问题,应该还是转的结构或者传的参数不对。没学过C语言。
ChrisDev
ChrisDev
回复 @clan525 : 高版本应该无差!
ChrisDev
ChrisDev
你好,如果是本地源进行播放的话,那么这里的get信息一定是可以来到的。如果是网络源信息则一般会失败。对于网络源的get信息则需要添加回调函数,这样才能够保证信息能够获取正常!
c
clan525
是2.2.0 不是2.1.5
0
o
osc_17598420

vlc2.2.4版本  libvlc_media_get_stats  获取的信息都为0 ,是不是bug了

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部