代码之家  ›  专栏  ›  技术社区  ›  Aviv Hurvitz

如何在Windows.Media.Capture中将H.264视频源直接录制到文件中

  •  0
  • Aviv Hurvitz  · 技术社区  · 7 年前

    我担心以有损格式编码视频文件,然后对其进行解码以进行训练,这会降低训练图像的质量,否则会改变训练图像,使其与生产中看到的图像不完全相同。

    现在,我看到我的网络摄像头(在Surface Pro 3上运行)有H264个视频源和YUY2个视频源。

    1. 这个假设是真的吗?H264饲料是来源,YUY2是该来源的产品吗?我怎么检查?

    我正在使用新的Windows.Media。捕获API,但如有必要,请使用其他API。

    3 回复  |  直到 7 年前
        1
  •  1
  •   Roman Ryltsov    7 年前

    Surface Pro 3(顺便说一句,与Surface Pro 4不同)配备了能够 H.264 hardware compression

    压缩视频的是摄像机,因此YUY2是原始输入,H264是其派生。

    这个假设是真的吗?H264饲料是来源,YUY2是该来源的产品吗?我怎么检查?

    不,恰恰相反。

    读取H264并将其路由到多路复用器,以生成带有H264视频轨迹的MP4文件。使用Windows Media Foundation的源读卡器和接收器编写器,也可能使用媒体会话API,这绝对是可能的,我对Windows.Media不太确定。捕捉,这可能是在上面提到的一层。

        2
  •  1
  •   ThomasP    7 年前

    有一些例子描述了如何将数据写入文件。

        3
  •  0
  •   VuVirt    7 年前

    您可以从UWP SDK中检查CameraFrames示例: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CameraFrames

    基本上,它为网络摄像机创建了一个MediaFrameReader,并订阅其FrameArrived事件。例如,您应该可以访问H264帧并将其馈送到接收器写入程序。或者使用MediaCapture。StartRecordToCustomSinkAsync,您需要在其中提供自定义IMediaExtension媒体接收器。检查SimpleCommunication示例: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/SimpleCommunication