当前很多工具能提供mp4格式的转换输出,但有时输出的格式拿到网络上后发现需要完整下载后才能开始播放,而不能像网上的很多视频那样一开始就能播放(边下边放),造成这个问题的原因是一些描述mp4文件信息的moov atom元数据默认放置在了视频文件的最后,而所有的播放器(包括独立的、网络化的——如浏览器)都需要这些信息来正确构建播放(比如视频分辨率到底是多少,视频到底有多长......)由此需要把这些信息想办法移动到mp4文件的前部,这样读取到这些信息后客户端播放器就可以搭起播放环境,后续只需要播放数据即可。能完成这项工作的工具有很多,这里介绍qt-faststart这个小程序。

qt-faststart简介

qt-faststart是一个由Mike Melanson (melanson@pcisys.net)写的开源程序,是一个命令行工具。你可能可以在很多地方找到它的源码,我一般是在FFmpeg的源码中拿,它通常放在FFmpeg源码的tools目录下,比如github仓库中的位置为https://github.com/FFmpeg/FFmpeg/tree/master/tools。该程序只有一个源码文件,很小(不到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文件路径可以是绝对或者相对路径。

补充说明:

  1. mp4文件也可以替换为mov文件,因为这个工具其实最开始是为QuickTime格式视频文件编写的
  2. mp4/mov 文件中的moov atom数据必须是非压缩的才能利用这个工具。

转自:https://blog.csdn.net/charleslei/article/details/53649467

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

  1. python下载大文件mp4_Python代码打开本地.mp4格式文件的方法

    Python代码打开本地.mp4格式文件的方法 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件.我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放 ...

  2. Android多媒体:H264格式文件转MP4格式文件

    项目有Rtsp实时视频播放功能 ,现在要实现边播放边保存的功能要求.我在音视频方面技术处理白痴水平,所以 只能简单地实现先把h264格式的视频流保存到SD卡,再把对应地h264文件转码成MP4格式文件 ...

  3. 手机上视频格式m3u8装换为mp4格式文件

    手机上视频格式m3u8装换为mp4格式文件 M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码的纯文本文件,不能直接转化为mp4文件 1.首先在手机找到m3u8文件,用HTML文本格式 ...

  4. python读取mp4文件失败_Python代码打开本地.mp4格式文件的方法-mp4文件

    Python开发技术的应用相信有不少的小伙伴都有所了解,简单的说那就是非常的强大,Python开发技术的应用是非常广泛的,本篇文章扣丁学堂Python培训小编就给读者们分享一下Python代码打开本地 ...

  5. qlv格式的视频转换MP4格式文件,不需要任何软件,一个插件搞定

    qlv格式的视频转换MP4格式文件,不需要任何软件,一个插件搞定 插件法,此法对于网页视频有奇效 亲测:QQ浏览器,应用中心,搜索 猫抓,安装此应用插件,就可以直接下载腾讯视频,而且下载是MP4格式

  6. js实现封装MP4格式文件并下载

    注:基于bilibili的FLV.js实现 flv.js的github地址:github.com/Bilibili/fl- MP4文件格式 综述 在MP4文件格式中,整个视频容器都是由多个box和子b ...

  7. 【Bug修复】yuv生成mp4格式文件帧数(时间)与原视频不一致

    问题描述 需要将一系列的视频从yuv格式的文件编码成每秒30帧的视频,但是在yuv生成mp4格式时,存在帧数不对齐的问题. 1.准备两个视频 Animation_1080P-209f.mkv,25fp ...

  8. 在Tomcat中添加支持3GP/MP4格式文件的下载

    近日在工作中遇到3gp和mp4格式的文件问题.我用Nokia3250下载史莱克的视频(3gp)格式的.下载完后只给我提示一个text:内容有avc2.0.10.1110这样的内容. 原来Tomcat并 ...

  9. mkv转mp4格式怎么转,5种便捷工具盘点

    mkv转mp4格式怎么转?因为当我们下载视频时,通常无法选择格式,这可能会导致下载的视频无法打开.如果下载的是MKV格式,它可以容纳多个音频.视频和字幕流.然而,并非所有播放器都支持MKV格式的视频文 ...

最新文章

  1. 使用kaptcha生成验证码
  2. GNUGK 作为Gatekeeper穿透防火墙和NAT
  3. Android 2.0中电话本contact的读写操作(增删改查一)
  4. 图论(六)图的两种表示方法
  5. 下次激活策略10_服装店营销策划方案,简单策略让服装超市提升10倍业绩
  6. P2568-GCD【欧拉函数,欧拉筛】
  7. oracle 用户账户被锁处理
  8. 计算机系统的数制及转换
  9. (二)深入了解机器翻译
  10. Linux之at命令
  11. python中凯撒密码加密_凯撒密码加密
  12. python鼠标位置_用python3 返回鼠标位置的实现方法(带界面)
  13. python实现具有删除空格、英文标点替换、英文单词大写等功能的文字排版工具
  14. ThreeJs 学习之旅(七)
  15. Thrill: 基于C++的高性能分布式批处理算法
  16. Python3全面基础学习
  17. AMD phenom(翼龙) x4 955 黑苹果(El Capital 10.11.6)安装成功记录
  18. 【洛谷】P3518 [POI2011]SEJ-Strongbox
  19. 田忌赛马 贪心 注意细节
  20. 2021年完美的借条怎么写

热门文章

  1. 面向服务体系架构的业务规划和建模方法系列之二--基础概念辨析
  2. CodeForces - 1454F Array Partition(线段树+二分)
  3. CodeForces - 1408D Searchlights(思维)
  4. Python实现心跳保活TCP长连接
  5. js:点击button后返回值
  6. oracle11g 01031,Oracle11g Data Guard -- ORA-16047 , ORA-16057 ,ORA-01031
  7. 二阶振荡环节的谐振频率_晶体振荡器和谐振器的区别 555压控振荡器电路图
  8. 视音频编解码学习工程:H.264分析器
  9. 容器化技术如何在数据中心实践
  10. python中的魔法属性和方法