为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Azure 媒体服务 v3 从 .mp3(或其他纯音频)文件编码的 .mp4

如何使用 Azure 媒体服务 v3 从 .mp3(或其他纯音频)文件编码的 .mp4

C#
心有法竹 2022-12-24 14:42:36
问题总结我们使用 Azure Media Services v3 通过 Azure Media Player 流媒体文件。目前我正在尝试添加一个选项来使用 AES 加密流式传输 .mp3。上传和编码文件工作正常,我可以看到生成的 .mp4 文件,如果我从 blob 下载它,我什至可以播放它。问题是当我尝试在 Azure Media Player 中流式传输它时,我在播放器中收到以下错误: 图像 这是因为 Azure Media Player 不支持仅流式传输音频文件,如其文档中所述:可能适用于自适应流的某些技术,但目前不受支持并且不适用于 AzureHtml5JS。我试过的所以我尝试将空白/空的 h264Layer 添加到转换作业中,这样编码文件就不会是纯音频的。我发现了一些关于这个问题的问题,比如这个,但是我的问题仍然没有解决。我还发现了这个建议,这使我进入了 Azure 媒体服务 v2 文档页面,但我认为这不是我需要的。我也看到了这个注释:媒体编码器标准的许多高级媒体服务 v2 功能目前在 v3 中不可用。有关详细信息,请参阅功能差距。我将编码预设设置为"EncoderNamedPreset.AACGoodQualityAudio"。然后转到“EncoderNamedPreset.H264SingleBitrate720p”,看看它是否创建了一个空视频层,但结果是一样的:视频文件是在其自己的资产中创建的,但我无法对其进行流式传输。我试过用这样的空 H264Layer 创建自己的编码器预设:new StandardEncoderPreset(    codecs: new Codec[]    {        new AacAudio(            channels: 2,            samplingRate: 48000,            bitrate: 128000,            profile: AacAudioProfile.AacLc            ),        new H264Video(            keyFrameInterval: TimeSpan.FromSeconds(2),            sceneChangeDetection: true,            layers: new H264Layer[]            {                new H264Layer (                    bitrate: 1, // Units are in bits per second                    width: "1",                    height: "1",                    label: "SD" // This label is used to modify the file name in the output formats                )                            }            )    },    formats: new Format[]    {        new Mp4Format(filenamePattern:"Video-{Basename}-{Label}-{Bitrate}{Extension}")    })创建转换时的结果:异常:操作返回无效状态代码“BadRequest”带空白层new H264Layer (    bitrate: 0, // Units are in bits per second    width: "0",    height: "0",    label: "SD" // This label is used to modify the file name in the output formats)  创建转换时的结果:异常:操作返回无效状态代码“BadRequest”没有构造函数参数的 H264Layernew H264Layer()结果:创建了转换。尝试流式传输 AMP 时出现同样的错误。由于损坏问题或视频使用了您的浏览器不支持的功能,视频播放已中止。(0x20400003)预期结果预期结果将是 Azure Media Player 可以流式传输的任何类型的文件。我想这应该以某种方式通过向编码文件添加空白/空 H264 层来实现,但我不知道如何在 Azure 媒体服务 v3 中执行此操作。
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

将离线传达的回复添加到此帖子:

  1. 你是对的,Azure Media Player 目前需要一个视频轨道

  2. 使用 v2 API 时,有一种方法可以在对纯音频源进行编码时插入视频轨道

  3. 该标志目前未在我们的 v3 架构中公开

但是,应该能够使用像 AdaptiveStreaming 这样的 v3 预设——它对音频进行编码,并生成“空白视频”轨道

谢谢,

阿尼尔


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号