我们一直在调查的一个问题,肖像画iOS视频无法编码的Azure媒体编码服务。有什么解决办法吗?
当视频是720宽,1280高,没有任何旋转元数据时,就会发生错误。
Windows Azure媒体编码器在指定的源无效宽度的编码过程中遇到错误。该值必须是64到1280之间的偶数和4的倍数。
类似的视频是1280宽和720高的旋转90度元数据,编码没有问题。
我们尝试了不同的xml预设值,认为视频处理不正确。
<Presets Rotation="Auto">
<Preset
Version="5.0">
在查看了这些视频的来源后,我们确定这些视频是从Snapchat制作的mp4视频,并添加了一些效果。没有效果的视频似乎很好。因此Snapchat在某种程度上腐蚀了他们。
因此,我们认为上面提供的错误是假的,而实际的错误,视频中的其他一些问题,正在被这个维度错误处理程序捕获。
给用户提供一个有用的错误是很好的。实际上,说尺寸是不正确的,这是有用的,因为其他视频与这个维度是好的。
发布于 2017-10-11 16:28:11
首先,您使用的是不推荐的媒体处理器“”(解释错误消息)。此组件将在日历年结束前从生产部署中删除。
请更新您的代码使用“媒体编码器标准”-见这页面和相关文档。
其次,如果输入MP4不包含旋转元数据,您知道哪些视频是在纵向模式下捕获的,哪些是在景观模式下捕获的?下面的说明将有助于MP4s,当您确定它们处于纵向模式时--如果视频处于横向模式,相同的编码器设置将产生意外的结果。
强制旋转在媒体编码器标准下面是一个修改的JSON预置,它将迫使编码器对输入视频应用90度旋转,并产生两层,一个在720x1280,另一个在360 x640。当然,您可以编辑它以添加其他层。注意两个自定义设置的使用,“旋转”和"StretchMode“。您可以将JSON保存到本地文件,并使用这里指令提交编码任务。或者,您可以在PC上下载并使用http://aka.ms/amse。
{
"Version": 1.0,
"Sources": [
{
"Streams": [],
"Filters": {
"Rotation": "90"
}
}
],
"Codecs": [
{
"KeyFrameInterval": "00:00:02",
"StretchMode" : "None",
"H264Layers": [
{
"Profile": "Auto",
"Level": "auto",
"Bitrate": 3400,
"MaxBitrate": 3400,
"BufferWindow": "00:00:05",
"Width": 720,
"Height": 1280,
"BFrames": 3,
"ReferenceFrames": 3,
"AdaptiveBFrame": true,
"Type": "H264Layer",
"FrameRate": "0/1"
},
{
"Profile": "Auto",
"Level": "auto",
"Bitrate": 650,
"MaxBitrate": 650,
"BufferWindow": "00:00:05",
"Width": 360,
"Height": 640,
"BFrames": 3,
"ReferenceFrames": 3,
"AdaptiveBFrame": true,
"Type": "H264Layer",
"FrameRate": "0/1"
}
],
"Type": "H264Video"
},
{
"Profile": "AACLC",
"Channels": 2,
"SamplingRate": 48000,
"Bitrate": 128,
"Type": "AACAudio"
}
],
"Outputs": [
{
"FileName": "{Basename}_{Resolution}.mp4",
"Format": {
"Type": "MP4Format"
}
}
]
}
发布于 2017-10-12 00:01:07
好奇-朱尔斯,你是如何找到使用"Windows媒体编码器“的代码的?我们假设这是从我们的大多数示例代码中删除的。我很想知道你在哪里找到了这个字符串,这样我们就可以删除它了。
https://stackoverflow.com/questions/46692154
复制相似问题