嗨,我是UWP编程的新手。我们有一个现有的视频呼叫应用程序,我们正在为Windows在UWP中移植。我们现有的系统设计了这样一种方式,相机原始帧(YUV帧)馈送给视频编码器(H.264或H.263)和编码的视频数据将被打包并发送到网络。
为了获取YUV相机的数据,我使用了MediaCapture和https://learn.microsoft.com/en-us/windows/uwp/audio-video-camera/process-media-frames-with-mediaframereader中所解释的
但是,我无法找到API,对这些视频帧进行编码并得到编码的视频帧。
请帮帮我,我怎样才能得到UWP中编码的视频帧?
发布于 2019-02-06 21:10:35
我几乎可以肯定,你不能在C#中这样做。我最近并没有关注媒体,但就在几年前,你必须使用C++中的媒体基金会(MF)完成所有的视频转换工作。
当MKV编解码器不存在时,我尝试(而且只有一半成功)做了一个MKV编解码器,这就是我不得不求助的地方。这些编解码器基本上是黑匣子,MF将自动选择解码视频所需的编解码器。
要编写自己的编解码器(或使现有的编解码器与MF一起工作),您必须使用这个教程。问题在于它使用的是WRL,而不是更新的C++/WinRT。但是哦,好吧。
另外,如果您想看到我做MKV编解码器的糟糕尝试,请看这里:https://github.com/limefrogyank/MKVSource我是C++的新手,也是MF的新手。但成功了..。有点。
2019年2月2日编辑
你看过这个吗?显然,现在您可以更容易地使用内置工具:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MediaTranscoding对视频进行转换。
但是要合并您自己的编解码器,您可以按照本教程将使用MF创建的内容与UWP结合起来。https://learn.microsoft.com/en-us/cpp/windows/wrl/walkthrough-creating-a-windows-store-app-using-wrl-and-media-foundation?view=vs-2017
https://stackoverflow.com/questions/54556149
复制相似问题