Set up buffering for <video> object

最后都变了- 提交于 2019-11-27 08:39:54

问题


So I'm trying to play videos that are hosted on a remote server, the problem I'm encountering is that it takes a VERY long time for large videos to start playing. It seems that the entire video needs to be downloaded before the video starts playing (by comparing the time it takes for the video to start playing with the time it takes to download it). Does anyone have any advice on how to set up the videos to start showing as soon as even a small amount of it has downloaded.


回答1:


to process individual uploads you'll want to use something like ffmpeg to move the meta data (MOOV atom) to the front of the video file:

./ffmpeg -y -i SourceFile.mp4 -s 1280x720 -c:v libx264 -b 3M -strict -2 -movflags faststart DestFile.mp4

The above will give you a 1280x720 output, at 3Mbps using h264 in an mp4 container, and will also do a second pass to move the moov element to the front of the file enabling it to start streaming faster. It will not re-encode the audio so will keep whatever quality you started with

You may want to play around with the framesize and the bitrate to get the filesize to match what you like/need.

to do this in the background you'll want to review something like this to call ffmpeg from PHP, or to make use of http://ffmpeg-php.sourceforge.net/ to call it, or if easier use a remote transcode service such as http://ffmpegasaservice.com/



来源:https://stackoverflow.com/questions/32937114/set-up-buffering-for-video-object

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!