【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)

摘要:
在路径中配置bin目录(例如:ffmpeg版本开始转换官方文档官方文档:首先将avi视频转换为mp4(或直接将avi转换为m3u8/ts)ffmpeg.exe-lucene.avi-c:v753k-r18lucene.mp4这里有一个参考-c:-s设置分辨率-pix_Fmtyuv420p:它用于恢复每个像素的YUV(亮度信息和颜色信息)值根据采样方法B从码流中设置码率。
准备工作

下载 :ffmpeg-N-102534-gec20b81302-win64-lgpl-shared.zip,并解压,FFmpeg下载地址

【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)第1张

【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)第2张 

配置环境变量:在path中配置bin目录 (例如:F:xxxxxxffmpeg-20180227-fa0c9d6-win64-staticin)
检查是否配置成功:ffmpeg -version

【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)第3张

开始转换

官方文档

官方文档:英文文档

转换格式 

avi 转换成 mp4 命令:ffmpeg -i lucene.avi lucene.mp4

avi 转成mp3:ffmpeg -i lucene.avi lucene.mp3

avi 转成gif:ffmpeg -i lucene.avi lucene.gif

生成m3u8/ts文件

第一步:先将avi视频转成mp4(也可以直接将avi转为m3u8/ts)

ffmpeg.exe -i  lucene.avi -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k -b:v 753k -r 18 .lucene.mp4

这里是引用-c:v 视频编码为x264 ,x264编码是H264的一种开源编码格式。

-s 设置分辨率

-pix_fmt yuv420p:设置像素采样方式,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0,它的作用是根据采样方式来从码流中还原每个像素点的YUV(亮度信息与色彩信息)值。

-b 设置码率,-b:a和-b:v分别表示音频的码率和视频的码率,-b表示音频加视频的总码率。码率对一个视频质量有很大的作用,后边会介绍。

-r:帧率,表示每秒更新图像画面的次数,通常大于24肉眼就没有连贯与停顿的感觉了。

第二步:将mp4生成m3u8

ffmpeg -i  lucene.mp4   -hls_time 10 -hls_list_size 0  -hls_segment_filename ./hls/lucene_%05d.ts ./hls/lucene.m3u8

-hls_time 设置每片的长度,单位为秒

-hls_list_size n: 保存的分片的数量,设置为0表示保存所有分片

-hls_segment_filename :段文件的名称,%05d表示5位数字

生成的效果是:将lucene.mp4视频文件每10秒生成一个ts文件,最后生成一个m3u8文件,m3u8文件是ts的索引文件

【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)第4张

 video.js播放hls示例:https://www.cnblogs.com/vickylinj/p/14768383.html

 hls.js播放示例:https://www.cnblogs.com/vickylinj/p/14768536.html

参考:https://blog.csdn.net/weixin_38168050/article/details/105043874

免责声明:文章转载自《【video】使用FFmpeg将avi / mp4文件转换成m3u8/ts文件(用于近时播放)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇计算PE文件校验和JS-获取URL请求参数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

windows下postgresql安装失败解决方法:无法运行getlocales.exe

今天要安装postgresql但是安装的时候出现错误 Unknown error while running C:UsersjinjinAppDataLocalTemppostgresql_installerxxxxxxxgetlocales.exe 网上百度对这个问题搜了一下只有3个链接,谷歌了一下后尝试解决这个方法。 主要原因应该是VC2010没有安装...

【转】可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)

  原文地址:http://www.cnblogs.com/justnow/p/3382160.html (最新版本:V6.0,2017.12.11 。即将推出Xamarin移动端版本,包括 Android 和 iOS)        GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端、android移动...

android dlopen调用so库

转自:http://hi.baidu.com/mcu99/blog/item/216f1fce17e1c00b92457edd.html 以下程序在Ubuntu操作系统上,gcc编译通过。但是当我想把它们移到Android下运行时,则出现错误,问题出在什么地方尚不得而知。(补充:该问题已经解决,详见http://hi.baidu.com/mcu99/blo...

Vue-CLI为前端项目配置https证书

直入正题,直接在Vue-CLI的vue.config.js文件devServer字段配置: // 证书的密码 pfxPassphrase: 'xxxx', // when develop with https need to provide server certificate to browser. // 证书在本项目下的相对路径...

真机调试问题 错误集合

1. 编译iPad真机时,选择了 Architetures:Standard(armv6) BaseSDK:iPhoneDevice3.2 TargetDeviceFamily:iPad. 若编译出现如下错误: Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2...

Jmeter(八)

 ------------------------------------------------------------------- 转载自:北京-宏哥 https://www.cnblogs.com/du-hong/p/13037317.html ----------------------------------------------------...