【问题标题】:Is it possible to get precise timestamps for frames in video file from VLC?是否可以从 VLC 获得视频文件中帧的精确时间戳?
【发布时间】:2013-01-06 02:08:11
【问题描述】:

我希望在我用 C# 编写的应用程序中使用 VLC 作为视频播放器的基础(因为 VLC 是少数可以正确解码我正在使用的格式的播放器之一),但主要任务是我需要它执行的是:

  1. 能够在视频文件中的不同帧之间浏览,两者 前进后退。
  2. 为每一帧显示精确的时间戳,直到 毫秒,以及将时间戳中继到 申请。

现在我正在通过 VLC 扩展 LUA 脚本执行此操作,但是 VLC 通过 vlc.var.get(input, “time”) 返回的时间缺乏精度,并且可能因跨多个文件读取的同一视频文件中的同一帧。框架浏览也不太可靠。另外,以这种方式接收的值不能自动中继到另一个应用程序。

我尝试使用 libVLC 的 LibVLC.NET 包装器,但我仍然无法在帧之间浏览,并且返回的毫秒计数值相当奇怪。这几乎就像 VLC (libVLC) 在播放期间不返回实际时间值,而是返回某种舍入值,当读取精度低至毫秒时,该值具有相当大的延迟。标准的 VLC 界面既不能显示精确到毫秒的时间值,也不能在帧之间浏览。

是否有任何可行的方法通过从使用 .NET 编写的应用程序以某种方式运行 VLC 来使用 VLC 执行上述两项任务?还是我应该考虑其他选择?

【问题讨论】:

    标签: c# .net vlc libvlc


    【解决方案1】:

    我不确定您是否可以使用 VLC 做到这一点。但是你可以使用this example,它使用了非常好的框架ffmpeg 我几乎可以肯定您将能够播放您的流并导航。另外还有一个solution你可能会用到,我不得不说我不熟悉它,但值得一试。

    基本上尝试找到视频播放器的.Net实现而不是工作VLC

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 2019-12-06
      • 2019-07-30
      • 2020-03-27
      相关资源
      最近更新 更多