![](/img/trans.png)
[英]Can Azure Media Services/MES generate thumbnail image from video file which stored in Azure Blob storage ?
[英]Grabbing a thumbnail from a video when uploading. (Azure Blob Storage)
我目前有一個將視頻上傳到Azure Blob存儲的系統,並且工作正常。 我想實現一項功能,該功能可在上傳時從視頻中獲取縮略圖並將其推送到Azure。
我嘗試按照建議使用此方法:
new FFMpegConverter().GetVideoThumbnail(file, outputJPEG);
問題是我不確定要使用什么作為outputJPEG,因為我沒有要寫入的文件,而是想將該文件寫入Azure的Blob存儲。
誰能幫助我解決這個問題,或者建議其他方法?
我努力了:
創建一個新的空HttpPostedFileBase作為outputJPEG文件,但這是不可能的,因為它僅接受用戶上傳的文件。
使用文件流,但這似乎不起作用,因為它需要寫入文件的位置,而不是讓我直接推送到Blob存儲。 (通過:blob.UploadFromStream(file.InputStream);)
在此先感謝您的幫助!
看起來好像有一個覆蓋了一個流的替代,因此您可以將其寫入內存流,然后獲取該內存流並在Blob存儲區中創建一個新文件:
MemoryStream ms = new MemoryStream();
var converter = new FFMpegConverter();
converter.GetVideoThumbnail(file, ms);
ms.Position = 0;
// Write ms to a blob object here
blockblob.UploadFromStream(ms);
請注意,即使使用了接受Stream的重載,GetVideoThumbnail方法也始終為輸出jpeg文件創建臨時文件。
如果您的目標是避免創建臨時文件,則可以使用FFMpegConverter.ConvertLiveMedia重載,該重載從文件接受inputSource並將結果寫入輸出流(提取視頻縮略圖等效於僅轉換1幀即可轉換為MJPEG流)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.