首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用libvlcsharp (c#或vb.net)从数据流播放视频

如何使用libvlcsharp (c#或vb.net)从数据流播放视频
EN

Stack Overflow用户
提问于 2021-12-05 14:49:51
回答 1查看 899关注 0票数 1

我在vb.net (winForms)中有一个应用程序,我想用视频和音频PID播放一个有效的TS。如果我使用应用程序本身的TCP/UDP协议对其进行流处理,它可以正常工作,但我想在不执行网络流的情况下完成它。

我看到这可以使用StreamMediaInput,但我不知道如何做。

我有这个:

代码语言:javascript
复制
Private Sub WriteStream(ByVal Data() As Byte, ByVal len As Integer)
 'Data() array is the video TS (MPEG-2) (188 bytes len)
 vlc_memorystream.Write(Data, 0, len)
End Sub

将流传输到libvlcsharp是可以的,我如何才能直接将Data()数组传递给libvlcsharp?

谢谢。

https://github.com/videolan/libvlcsharp

编辑:

我能看到溪流把这条线放进潜艇里:

代码语言:javascript
复制
vlc_memorystream.Write(Data, 0, len)

问题在于缓冲区。它很好地播放几秒钟,然后它停止播放。我怎么能处理这事?

EN

回答 1

Stack Overflow用户

发布于 2021-12-07 17:47:02

正如这里所解释的:294698,MemoryStream不会这样做,因为libvlc读取数据的速度比它们到达的速度要快,并且假设流已经完成。

您需要实现一个阻止Read()调用的Stream,直到数据可用(或者使用现有的Stream实现),或者为此使用您自己的MediaInput。

我在这里实现了这样的媒体输入:https://github.com/jeremyVignelles/libvlcsharp-nonfree-samples

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70235466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档