0

我使用vlc-qt lib并尝试访问开放视频文件的每秒帧数信息。

玩家:

_instance = new VlcInstance(VlcCommon::args(), this);
_player = new VlcMediaPlayer(_instance);
_media = new VlcMedia(file, true, _instance);
_player->openOnly(_media);

播放器有一个公共函数playbackRate(),但它只给出当前的播放比例,所以如果没有应用慢动作,它是 1。

float playbackRate = _player->playbackRate();

我也尝试通过编解码器获取它,但编解码器本身不是一个类,而只是一个带有可能编解码器名称的枚举。

我怎样才能访问 fps,所以返回每秒 30 帧的速度?

4

1 回答 1

0

使用 python vlc.py:
self.player 在哪里:

self.Instance = vlc.Instance()
self.player = self.Instance.media_player_new()

它有一个功能get_fps()

def mspf(self):# Milliseconds per frame.
    return int(1000 // (self.player.get_fps() or 25))

编辑:深入挖掘后,在 vlc-qt 源中似乎没有提及fps,除非它提供 fps 作为VlcMedia.cpp中的Media::duplicate和函数的实验输入,尽管 fps 在 vlc 中可用Media::record

于 2016-05-12T07:50:00.177 回答