ffmpeg是开源的音频视频编解码工具
然而默认的参数对MP4不友好,需要自己设置
这里记录一下简单的优化参数

优化MP4使moov atom位于文件开头

moov atom是mp4的索引信息.
浏览器获得moov atom后,可以随机搜索文件位置,让拖动自由
ffmpeg默认是将moov atom放在文件末尾,我们需要前置moov atom
-movflags faststart关键参数

ffmpeg -i input.mp4 -movflags faststart -acodec copy -vcodec copy output.mp4

优化HLS自定义切片时间(非定长切片时间)

ffmpeg默认HLS切片时间是2秒. 我们需要实现前5块都是1秒切片时间,剩下的切片时间为5秒一块
下面的代码可以实现(需要为ffmpeg打补丁),具体详情请看末尾参考文章
-hls_init_time 1 -hls_time 5 -hls_flags split_by_time -hls_list_size 0 -hls_allow_cache 1

ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -s 1280x720 -hls_init_time 1 -hls_time 5 -hls_flags split_by_time -hls_list_size 0 -hls_allow_cache 1 -f hls index.m3u8

其他优化

自定义码率/分辨率,使用HTTP2等等,以后收集到再更新
开源软件Handbrake可以使用'Web Optimized'选项,它将移动moov atom到文件开头
收集的压缩参数

M:\bin\ffmpeg.exe -i M:\bin\input.mp4 -preset slower -c:v libx264 -r 30 -crf 28 -c:a copy crf28.mp4
  ffmpeg -i input.mp4 -c:v libx264 -s 1280x720 -r 30 -preset medium -g 60 -keyint_min 60 -sc_threshold 0 -bf 3 -b_strategy 2 -b:v 1000k -maxrate 1100k -bufsize 1000k -c:a aac -b:a 64k -ac 2 -ar 44100  output.mp4

参考文章 http://ffmpeg.org/pipermail/ffmpeg-devel/2016-August/198357.html
https://streaminglearningcenter.com/wp-content/uploads/2016/11/Cloud_encoder_with_FFmpeg-1.pdf
问题地址 https://trac.ffmpeg.org/ticket/7305
补丁地址 https://patchwork.ffmpeg.org/patch/9653/
http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160827/281eb87c/attachment.obj
推荐工具 https://axiomui.github.io/
https://handbrake.fr/

ffmpeg优化mp4以及hls参数设置相关推荐

  1. 第七十四篇:机器学习优化方法及超参数设置综述

    第七十四篇:机器学习优化方法及超参数设置综述 置顶 2019-08-25 23:03:44 廖佳才 阅读数 207更多 分类专栏: 深度学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-S ...

  2. 机器学习--模型参数优化及scoring可选参数

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 优化的相关的知识内容可以参考 https://blog.csdn.net/luanpeng825485697/article/deta ...

  3. oracle默认的优化器,Oracle优化器相关参数设置

    oracle优化器相关参数设置 Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Prod ...

  4. ffmpeg推流 av_dict_set 参数设置解析(降低延时、处理花屏、改善画面质量)(实时更新)

    一.关于影响时延的参数设置 1.preset :指定编码的配置.x264编码算法有很多可供配置的参数,不同的参数值会导致编码的速度大相径庭,甚至可能影响质量.为了免去用户了解算法,然后手工配置参数的麻 ...

  5. IDEA JVM 性能优化 相关参数设置

    文章目录 IDEA JVM 性能优化 相关参数设置 IDEA JVM 性能优化 相关参数设置 点击 Help - Edit Custom VM Options -Xms256m -Xmx2048m - ...

  6. uTorrent 2.2.1 高级参数设置详解及优化(转载)

    转自:http://leo.eool.net/blog/archives/802 uT设置网上已有不少教程,这里主要针对缓存.连接.高级参数.新功能和优化进行探讨 本文为软件应用的点滴积累和翻译人工, ...

  7. Java命令 - 关于jvm性能优化与gc优化相关参数设置

    java 工具的介绍 java - 启动java程序 简介 Windows: javaw命令与java相同,除了javaw没有相关的控制台窗口.当您不希望出现命令提示符窗口时,请使用javaw.然而, ...

  8. 粒子群(PSO)、量子粒子群(QPSO)优化LSTM网络超参数,以均方差为适应度,找出一组网络超参数,解决网络设置参数盲目性的问题

    粒子群(PSO).量子粒子群(QPSO)优化LSTM网络超参数,以均方差为适应度,找出一组网络超参数,解决网络设置参数盲目性的问题. 可用于负荷预测,风电功率预测,光伏发电预测等时序序列,matlab ...

  9. 掌握 Spring Boot 运行内存及内存参数设置:助力高效应用部署与优化

    pring Boot 是当今非常流行的 Java 应用框架之一,在企业级应用开发中被广泛使用.应用部署和优化是企业级应用开发的一个非常重要的方面.在这篇博客中,我们将学习如何掌握 Spring Boo ...

最新文章

  1. 第一轮通知 | 2022年中国生物物理学会肠道菌群分会年会暨“崂山论肠菌”学术论坛...
  2. Reporting service个人使用经验
  3. Java从SFTP服务器下载文件一
  4. 神策数据曹犟:神策数据产品矩阵与技术体系
  5. python新闻管理系统_python项目——新闻管理系统
  6. Docker环境下:ImportError: libSM.so.6: cannot open shared object file: No such file or directory
  7. java表达式由什么组成_必知必会之Lambda表达式
  8. 一文读懂Python 装饰器函数
  9. Linux学习之CentOS6下Mysql数据库的安装与配置
  10. ansible-playbook之循环(Loops)
  11. 干货来袭!java从入门到精通第五版pdf
  12. STM32F1下载程序方法
  13. Multisim14实现逻辑函数的化简与变换
  14. 主成分分析法(PCA方法)计算OBB包围盒
  15. 【实用工具】“爬虫”利器——八爪鱼
  16. html简繁体转换,在线繁体字转换工具
  17. 【小米手机ROOT记录】
  18. unity中计算三角形的外接圆
  19. 0.1+0.2 为什么不等于0.3
  20. 活动星投票网络文明公益广告网络评选微信的投票方式线上免费投票

热门文章

  1. ERROR 1044 (42000): Access denied for user ''@'localhost' to database
  2. 串口与modem流量控制大全(1)
  3. java utf8 byte_byte以及UTF-8的转码规则
  4. 教师资格证计算机考察知识点,教师资格证考试信息技术常考知识点同步练习题.docx...
  5. 【转】RabbitMQ六种队列模式-4.路由模式
  6. 关于w3wp.exe
  7. 如何轻松记忆Linux文件系统层次结构
  8. 哈希桶 entry_哈希表代码实现
  9. html防替换资源,Webpack中有没有替换html静态资源的插件
  10. PWN-PRACTICE-BUUCTF-30