10

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

  1. 能够在视频文件中的单独帧之间向前和向后浏览。
  2. 为每一帧显示精确到毫秒的时间戳,并能够将时间戳中继到应用程序。

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

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

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

4

1 回答 1

0

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

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

于 2015-08-04T13:30:46.937 回答