我的服务器上有几个视频和音频文件需要流式传输。我已将所有视频文件转换为 mp4,将音频文件转换为 aac。
现在我正在流式传输这两种类型的文件,但似乎音频文件比视频文件需要更长的时间才能开始播放。有时我可以看到它在开始播放之前缓冲整个文件。
我不确定它是否有任何效果,但对于视频文件我使用该-movflags faststart
选项并且它可以完成工作。
我想知道是否可以对音频文件做类似的事情以使它们播放得更快。
编辑:
以下是我运行命令来转换文件的方法:
ffmpeg -i OriginalPath.wma -strict experimental -c:a aac -b:a 128k -n SomePath.m4a
我使用 HTML5 网络播放器从我的服务器播放它们。
答案1
您仍然可以使用-movflags +faststart
仅包含音频的 MP4 和 M4A 输出。
答案2
如果您有 m4a 文件(m4a 是 ipod 扩展文件,非常旧),那么您必须将其放入适合 html5 的容器中,例如 mp4。
ffmpeg -i SomePath.m4a -c copy -strict -2 audio_friendly.mp4
我认为你的问题在于播放此音频文件的 html5 代码,因为-movflags +快速启动只有当你的 mp4 中有视频时...这里的代码会被忽略,所以在你的 html 文件中,你必须知道 attr 及其选项
<audio src="audio_friendly.mp4" preload="" controls></audio>
“预加载”选项一定是您的问题,您如何配置它?
预加载
用于缓冲大文件;它可以采用以下三个值之一:
"none" does not buffer the file "auto" buffers the media file "metadata" buffers only the metadata for the file