欢迎您来到,李雷博客 | PHP博客        登录  |  注册

【记录】ckplayer播放器解决MP4文件缓冲结束前无法播放的方法

更新:2015-11-25 09:14:31
人气:8553
来源:本站整理
A+

视频要等加载完才能播放,而不是边加载边播放这是因为视频的元数据信息不在第一帧所致。元数据是指保存视频属性的一组参数,比如视频的宽度,高度,时间长,总字节,关键帧等信息。因为网页上的视频播放器播放视频是以流的形式加载(即没办法直接加载视频结尾的数据,只能从前向后加载),所以播放器必需要读取到元数据信息才可以进行播放。

具体的解析办法可参考:

作者测试是在windows下使用,所以下载的页面地址是: 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的目录了,

1、测试视频截图的功能

复制如下命令,在命令行里点击鼠标右键选择粘贴

ffmpeg -i d:/1.flv -y -f  image2 -t 0.001 -s 720x576 d:/1.jpg

看看D盘下是不是生成了一个1.jpg的图片,是的话就成功了,不是你就认真检查下吧,看看路径是不是正确

2、测试d:/1.flv转成d:/1.mp4

同样,复制下面的命令,在命令窗口里点击鼠标右键选择粘贴

ffmpeg.exe -i "d:1.flv" -y  -metadata title="这是视频标题"  -metadata comment="这是视频信息!"   -c:v libx264  -preset superfast -x264opts keyint=25  -r 15 -b:v 500k -c:a aac -strict experimental -ar 44100 -ac 2  -b:a 64k -vf  "movie=a.png[watermark];scale=1364x768[scale];[scale][watermark] overlay=30:30[out]" -f  mp4 "d:2.mp4"

等命令执行完成后看看D盘下是不是有个mp4了,有了就说明成功了。

参数说明:

movie=是水印
-b:v 后的500k是码率
scale=后是分辩率
keyint=25 是关键帧 表示每25帧会有一个关键帧

如果你的视频只是元数据信息不在第一帧,下面介绍另一种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就是成功的了。可以边下载边播放

关于详细的参数设置,请自行网上搜索了解或者看使用说明

推荐的文章
# 发表我的评论
  /     /  
# 最近评论

这个以前的一个网站研究了很长时间

  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4