問題總結我們使用 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個贊
將離線傳達的回復添加到此帖子:
你是對的,Azure Media Player 目前需要一個視頻軌道
使用 v2 API 時,有一種方法可以在對純音頻源進行編碼時插入視頻軌道
該標志目前未在我們的 v3 架構中公開
但是,應該能夠使用像 AdaptiveStreaming 這樣的 v3 預設——它對音頻進行編碼,并生成“空白視頻”軌道
謝謝,
阿尼爾
- 1 回答
- 0 關注
- 82 瀏覽
添加回答
舉報
0/150
提交
取消