簡體   English   中英

使用 C# 獲取存儲在 azure 容器中的音頻 blob 的持續時間

[英]Get the duration of audio blob stored in azure container using C#

問題陳述:

在搜索了很多關於如何使用 C# 程序獲取存儲在 Azure 容器中的音頻 blob 的持續時間之后,我正在與社區中的人們聯系。

研究工作:

我在 C# 中看到了很多庫(例如 NAudio、MediaInfo、WindowsAPICodePack-Shell 等),它們有助於獲取媒體文件的持續時間,但僅支持存儲在本地系統路徑中的媒體文件,而不支持放置的音頻在雲端。

從 blob 的角度來看,它確實給出了 blob 的 length 屬性,它以字節為單位返回大小,這不能滿足我的要求。

請建議是否有任何方法可以獲取音頻 blob 的持續時間。 提前致謝!

ffprobe工具(來自 FFmpeg 系列)可以解決問題。 此工具旨在檢查媒體文件並從中返回您需要的所有信息。

它可以將輸入作為 URL 輸入,因此您可以將 blob 文件提供給它(假設 URL 已打開並且不需要身份驗證)。

這個網站 ( https://trac.ffmpeg.org/wiki/FFprobeTips ) 有一些關於如何使用 ffprobe 的重要提示。

從 C# 開始,您可以使用Process.Start([pathToFFProbe], [Arguments])簡單地調用 .exe。 如果您使用的是 Mac,請使用 Homebrew brew install FFmpeg獲取工具。 在其他平台上應該同樣容易。

Arguments such as -o JSON will output the data in a JSON format that you can parse in your own application to perform any further calculations.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM