mp4格式文件转码后处理(qt-faststart工具介绍)

小文blog小文 2018-02-05 15:54 2393人围观

前言

之前做的一个视频网站,由于视频是存放于服务器的,文件很大时候发现无法播放而且视频要等加载完才能播放,而不是边加载边播放,造成这个问题的原因是一些描述mp4文件信息的moov atom元数据默认放置在了视频文件的最后,而所有的播放器(包括独立的、网络化的——如浏览器)都需要这些信息来正确构建播放(比如视频分辨率到底是多少,视频到底有多长......)由此需要把这些信息想办法移动到mp4文件的前部,这样读取到这些信息后客户端播放器就可以搭起播放环境,后续只需要播放数据即可。能完成这项工作的工具有很多,这里介绍qt-faststart这个小程序。

qt-faststart简介

qt-faststart是一个由Mike Melanson (melanson@pcisys.net)写的开源程序,是一个命令行工具。你可能可以在很多地方找到它的源码,我一般是在FFmpeg的源码中拿,它通常放在FFmpeg源码的tools目录下,比如github仓库中的位置为https://github.com/FFmpeg/FFmpeg/blob/master/tools/qt-faststart.c。该程序只有一个源码文件,很小(不到13KB)。

qt-faststart编译与使用

要使用它需要先编译,这个程序能利用大多数编译工具实现编译,因为我一般在linux下使用,所以直接make tools/qt-faststart.c 即可在tools目录下产生出名为qt-faststart的可执行文件,然后把编译输出结果放置到系统搜索路径中即可以qt-faststart来进行调用使用了。

qt-faststart的使用十分简单,其调用格式为

qt-faststart <inMp4FilePath> <outMp4FilePath>
<inMp4FilePath>:表示调整前的mp4文件路径
<outMp4FilePath>:表示调整后的输出mp4文件路径

mp4文件路径可以是绝对或者相对路径。

补充说明

mp4文件也可以替换为mov文件,因为这个工具其实最开始是为QuickTime格式视频文件编写的

mp4/mov 文件中的moov atom数据必须是非压缩的才能利用这个工具。

windows编译好的程序

在本站存了一份,供大家下载:http://www.az1314.cn/uploads/qt-faststart.rar

下载后解压 运行命令 qt-faststart.exe d:/1.mp4 d:/2.mp4  2.MP4就可以边下边播了!

转载请注明来自小文blog,本文标题:mp4格式文件转码后处理(qt-faststart工具介绍)

发布评论
生活是一场戏,主角当累了,你亦可成为观众,停下脚步,歇一歇