您好我是新来的UWP编程。我们有一个现有的视频通话应用,这是我们在UWP移植适用于Windows。我们的现有系统设计这样的方式,相机原始帧(YUV帧)馈送到视频编码器(H.264或H.263)和编码的视频数据将被分组化并发送至网络。
为了获得YUV摄像头数据,我使用MediaCapture和MediaFrameReader在https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/process-media-frames-with-mediaframereader解释
但是,我无法找到的API,编码这些视频帧,获得编码的视频帧。
请帮我,我怎么能得到UWP编码的视频帧
我几乎可以肯定,你不能在C#中做到这一点。我还没有与媒体的东西目前最近,但由于几年前,你必须做所有的使用媒体基金会(MF)在C ++中的视频转换的东西。
Media Foundation Programming Guide
我想(只有半成功)作出MKV编解码回来时,一个根本不存在,这就是我只好求助于什么。这些编解码器基本上都是黑盒和MF会自动拾取解码视频所需的编解码器。
为了编写自己的编解码器(或进行与MF现有的编解码器的工作),你就必须把这个tutorial。的问题是,它使用的,而不是较新的C ++ / WinRT的WRL。但是,哦,好。
另外,如果你想看到我的可怕的企图做出MKV编解码器,去这里看看:https://github.com/limefrogyank/MKVSource我/是位于C新手++和MF一个完整的小白了。但它的工作...种。
只是可以肯定,你见过吗?显然,你可以更容易,现在的视频转码使用内置的工具:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MediaTranscoding
但要纳入自己的编解码器,你可以按照本教程的东西,你创建一个使用MF与UWP结合。 https://docs.microsoft.com/en-us/cpp/windows/wrl/walkthrough-creating-a-windows-store-app-using-wrl-and-media-foundation?view=vs-2017