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

前端之家收集整理的这篇文章主要介绍了c# – 是否可以从VLC获取视频文件中的帧的精确时间戳?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找使用VLC作为在C#中编写的应用程序中的视频播放器的基础(因为VLC是可以正确解码我正在使用的格式的少数几个播放器之一),但是我需要的主要任务表演是:

>能够在视频文件中的不同帧之间浏览
向前和向后
>显示每个帧的精确时间戳记
毫秒,以及将时间戳转发到的能力
应用.

现在我通过VLC扩展LUA脚本来做这个,但是VLC通过vlc.var.get(input,“time”)返回的时间缺少精度,并且对于同一个视频文件中的同一帧在多个时间内可能会有所不同文件读数框架浏览也不太可靠.此外,以这种方式接收的值不能自动转发到另一个应用程序.

我尝试使用libVLC的LibVLC.NET包装器,但我仍然无法浏览帧之间,并且返回的毫秒计数值是相当奇怪的.几乎像VLC(libVLC)在播放期间不返回实际的时间值,而是返回一些舍入的值,当精确读取到毫秒时读取值大大延迟.标准VLC接口既不能将精确的时间值显示为毫秒,也不能在帧之间浏览.

使用VLC编写的应用程序以VLC方式运行VLC,是否有任何可行的方式来执行上述任务?或者我应该研究其他选项?

解决方法

我不知道你可以用VLC来做到这一点.但是您可以使用 this example,它使用非常好的框架,称为 ffmpeg
我几乎可以肯定,你将能够播放你的流并浏览.另外还有另外一个 solution你可以使用,我不得不说,我不熟悉它,但它值得检查.

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

原文链接:https://www.f2er.com/csharp/95588.html

猜你在找的C#相关文章