ffmpeg—如何在java应用程序中处理从流服务接收的数据?

eufgjt7s  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(215)

我目前正在尝试开发一个“流式客户端”,作为在一个用java编写的桌面应用程序中组织多个流服务(twitch、yt、mitele…)的一种方式。
由于它的所有特性,它基本上依赖于streamlink(它依赖于ffmpeg),所以我的项目可以定义为streamlink的前端。
直截了当地说,我想添加的一个特性是,可以在后台以编程方式录制流,并在用户请求时向其显示此视频流。由于用户也有可能希望观看流而不记录流,因此我不得不处理从流媒体源发送的所有类似字节的数据。
所以,问题基本上是我不太了解视频编码/解码/muxing/demuxing,也不太了解视频理论,比如容器结构、视频格式等等。
但是这个想法是处理从流源发送的所有数据(比如说twitch),从 java.lang.Processstdout 然后呈现给客户。
还有一个问题:我不知道如何在javafx中播放视频流,而且我认为它现在甚至不受支持。所以我必须从图像中提取每一帧和声音 stdout 并在每次收到新帧时向用户显示它们(oups,这是另一个问题,因为我不知道每个帧何时开始/结束,因为我正在读取每个帧 stdout 的线路)。
作为总结:
我从流媒体源接收到什么样的数据?
我怎么知道每帧何时开始/停止?
如何从每个帧中提取图像和声音?
我希望我没有要求太多,希望你能照亮我的黑暗。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题