【发布时间】:2020-11-13 23:45:42
【问题描述】:
全部。我是编程初学者,在视频解码/播放上遇到了一些困难。
我有来自 tcpsocket 的原始 h264 数据流,我想在 WPF usercontrol 上显示视频。
由于我对 C++ 和视频解码/编码知之甚少,我很难使用 ffmpeg。
所以我正在考虑VLC是否可以做到这一点。
背景是:我想用Scrcpy服务器构建我自己的“Android投屏&远程控制”WPF应用。
到目前为止,我已经实现了:
- 将服务器推送到设备并启动服务器
- 在 PC 和 Android 设备之间建立 TCP 连接
- 可以在套接字中看到 h264 原始数据流
那么下一步是:在 WPF usercontrol 上显示视频
其实我之前也试过另一种解决方案,可以得到我想要的
- 将MPV 用作媒体播放器
- 使用特定参数在我的应用中启动
mpv.exe进程 - 在 WPF 宿主元素中嵌入 mpv 窗口
但我认为<WindowsFormsHost/> 对于 WPF 应用程序来说并不完美,所以我正在尝试寻找一种 WPF 风格的方式。
当我搜索 Github 时,我发现如果我想从光盘或互联网播放媒体文件更容易,我只需要传递文件位置(例如 D:/MyFolder/mySampleVideo.mp4 或 http://somesite/aSampleVideo.flv),无需关心关于组件/元素如何工作。
喜欢this project 和this project
如果我使用 VLC,如何直接播放原始的 h264 数据流?
有没有像VlcPlayer.Play(NetworkStream myh264stram) {...} 这样的方法?
【问题讨论】:
-
感谢您对 Vlc.DotNet 的关注,但请确保您已阅读自述文件中的警告消息: - 项目已进入维护模式 - 这部分让我后悔制作了真正的 WPF视频控制:github.com/ZeBobo5/…
-
MPV 的提及特别有用。谢谢!
标签: c# wpf tcp vlc vlc.dotnet