繁体   English   中英

使用SourceReader从摄像机流创建.mp4视频文件时的分辨率问题

[英]Resolution Issue when create .mp4 video file from camera streaming using SourceReader

我正在使用SourceReader技术开发Window Desktop Camera应用程序。我已经完成了视频流传输并仍然捕获。

现在,我正在努力从USB摄像机捕获.mp4视频文件。 我能够捕获以下分辨率的视频文件:640 x 480,1280 x 720和1920 X1080。将视频分辨率更改为高于1920 x 1080并为IMFSinkWriter对象调用SetInputMediaType返回HRESULT时遇到了问题。错误代码0xc00d36b。

我使用视频子类型进行编码:MFVideoFormat_H264

除MFVideoFormat_H264之外,还有其他可用于编码.mp4文件的子类型吗?

为什么无法捕获高于FULL HD分辨率的.mp4文件? 我是否缺少任何编码视频文件的内容? 如果是,请向我提供一些解决此问题的指南。

提前致谢。

可能的瓶颈是视频编码器支持的最大分辨率。 大概您将编码器作为Sink Writer的一部分隐式使用。 Sink Writer本身并不限制分辨率,但是如果编码器无法处理特定的媒体类型,则无法进行编码。 具体来说,在Windows 7中,分辨率(或可能)限制为1920x1088。

此外,您从错误代码中丢失了一位数字。

也可以看看:

罗曼给出了一个很好的答案,但只是增加了其他编解码器的主题-如果您在MSDN上检查MPEG-4 File Sink ,您会发现它也提到了MJPG支持(即使不清楚它是否仅可用于Windows 8或它,只是在Windows 8中得到了改进),因此您也应该能够使用MFVideoFormat_MJPG 我认为不应有任何大小限制,但是生成的.mp4文件的大小当然会急剧增加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM