最近处理一个网站的视频播放的功能,发现有的视频能边缓冲边播放,而有些视频则不能,查找了下资料,原来这是因为视频的元数据信息不在第一帧所致。
元数据是指保存视频属性的一组参数,比如视频的宽度,高度,时间长,总字节,关键帧等信息。因为网页上的视频播放器播放视频是以流的形式加载(即没办法直接加载视频结尾的数据,只能从前向后加载),所以播放器必需要读取到元数据信息才可以进行播放。
下面是处理方法:
所以下载的页面地址是:
www.zoomla.cn/down/ffmpeg.rar
也可以打开此软件官方下载:
http://ffmpeg.zeranoe.com/builds/
点击页面上的Download FFmpeg git-738ebb4 64-bit Static(我是64位的),如果你是32位点击 Download FFmpeg git-738ebb4 32-bit Static
下载下来解压缩后我把文件夹改成了ffmpeg放在D盘下面
运行三个文件:
D:ffmpeg/bin/ffmpeg.exe
D:ffmpeg/bin/ffplay.exe
D:ffmpeg/bin/ffprobe.exe
这就成功安装了
首先,搞一个视频文件放在D盘根目录下,主要为了省事,比如我放的是:D:/1.flv
在开始->运行里输入cmd,弹出命令窗口
按下面的命令进行操作
输入d:按回车
输入 cd ffmpeg/bin回车
这样就进入了ffmpeg的目录了,
这是批处理语句:
cd soft/ffmpeg/bin
ffmpeg -i d:/qyndbg.mp4 -y -f image2 -t 0.001 -s 720x576 d:/1.jpg
ffmpeg.exe -threads 4 -i d:/qyndbg.mp4 -ab 32 -ar 22050 -vcodec libx264 -qscale 6 -r 25 -s 480x360 -flags +loop -crf 24 -bt 256k -vol 200 -keyint_min 6 -vf yadif d:/qyndbg1.mp4
qt-faststart.exe d:/qyndbg.mp4 d:/qyndbg2.mp4
把元数据信息转到视频第一帧,需要下载一个qt-faststart
下载地址:http://www.ckplayer.com/down/qt-faststart.rar
下载下来解压得到qt-faststart.exe放到d:ffmpeg/bin/下面
运行命令:qt-faststart.exe d:/1.mp4 d:/2.mp4
最后出来的这个2.mp4就是成功的了。可以边下载边播放
如下图就可以边缓冲边播放了: