繁体   English   中英

是否可以从VLC获取视频文件中帧的精确时间戳?

[英]Is it possible to get precise timestamps for frames in video file from VLC?

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

  1. 能够在视频文件中向前和向后浏览不同的帧。
  2. 显示每个帧的精确时间戳,直到毫秒,以及将时间戳中继到应用程序的能力。

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

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

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

我不确定你能用VLC做到这一点。 但你可以使用这个使用非常好的框架ffmpeg的 例子我几乎可以肯定你将能够播放你的流并导航。 另外还有一个你可以使用的解决方案 ,我不得不说我不熟悉它,但值得检查。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM