在 Azure 存储上上传 MP4 准备进行伪流式传输
Upload MP4 on Azure Storage ready for pseudostreaming
我正在使用 UWP 平台构建视频服务应用程序,用户可以从中上传和观看视频。我正在使用 Azure 存储作为后端。
使用场景如下:
- 用户使用 CaptureElement class 拍摄视频作为 MP4。
- 他将其作为
video/mp4
块 blob 上传到 Azure 存储。
- 其他用户可以使用 MediaElement class 观看视频。源设置为 .mp4 blob。
视频文件下载到本地,以便 MediaElement 播放。
但是,即使下载未完全完成,我也想让它可用。
经过一番研究,我发现 QTIndexSwapper, ffmpeg -movflags faststart
and qt-faststart 将 MP4 文件的元数据放在数据之前,因此可以进行流式传输。
Here is an MP4 video which has its metadata at start
and here is one which has it at the end
MediaElement 具有与网络播放器相同的行为。
在 UWP 应用程序或 Azure 上实现它的最佳方法是什么?
可以Smooth Streaming Client SDK Extension帮忙吗?
只要视频上传到 Azure 存储以移动元数据,运行 WebJob 或类似的东西呢?
感谢您的宝贵时间,
乔治
我最终使用了 ffmpeg repo 的 qt-faststart
工具。
我创建了该代码的修改版本作为 Windows 运行时组件,并在我的项目中使用它。它完美运行。
这是一篇博客post我写的Create ready to be streamed over the web videos in UWP Applications
希望对大家有所帮助!
我正在使用 UWP 平台构建视频服务应用程序,用户可以从中上传和观看视频。我正在使用 Azure 存储作为后端。
使用场景如下:
- 用户使用 CaptureElement class 拍摄视频作为 MP4。
- 他将其作为
video/mp4
块 blob 上传到 Azure 存储。 - 其他用户可以使用 MediaElement class 观看视频。源设置为 .mp4 blob。
视频文件下载到本地,以便 MediaElement 播放。
但是,即使下载未完全完成,我也想让它可用。
经过一番研究,我发现 QTIndexSwapper, ffmpeg -movflags faststart
and qt-faststart 将 MP4 文件的元数据放在数据之前,因此可以进行流式传输。
Here is an MP4 video which has its metadata at start
and here is one which has it at the end
MediaElement 具有与网络播放器相同的行为。
在 UWP 应用程序或 Azure 上实现它的最佳方法是什么?
可以Smooth Streaming Client SDK Extension帮忙吗?
只要视频上传到 Azure 存储以移动元数据,运行 WebJob 或类似的东西呢?
感谢您的宝贵时间,
乔治
我最终使用了 ffmpeg repo 的 qt-faststart
工具。
我创建了该代码的修改版本作为 Windows 运行时组件,并在我的项目中使用它。它完美运行。
这是一篇博客post我写的Create ready to be streamed over the web videos in UWP Applications
希望对大家有所帮助!