FFmpeg中文指南|教程|笔记

FFmpeg中文指南|教程|笔记

2023-09-11
暂无分类

专业名词

视频码率:是指视频文件在单位时间内使用的数据流量,也叫比特率/码流率。 码率越大,说明单位时间内取样率越大,数据流精度就越高,这样表现出来的的效果就是:视频画面更清晰画质更高

帧率:每秒显示的画面帧。帧率越高,画面的连贯性越强。电影通常以24fps的速度显示,因为这个帧率与我们肉眼看世界的方式相似

分辨率:画面的像素数量,分辨率越高,像素越多,画面越细腻,越清晰

安装

brew install ffmpeg

视频格式转换

ffmpeg能够自动识别文件的后缀名并转换

ffmpeg -i xxx.mov xxx.mp4

mp4转m3u8,生成一个m3u8文件和若干个*.ts文件

# -hls_time 设置每个HLS分片的最大持续时间(以秒为单位)。默认值为2秒
# -hls_list_size n:设置为0会保存有所片信息,默认只保留最后5个片段
# -start_number 1000 将使首个分段的序列号为1000,方便文件排序
ffmpeg -i youtube.mp4 -hls_time 10 -hls_list_size 0 -start_number 1000 youtube.m3u8

# 获取视频第一帧,当作封面
# -vframes 1:指定要提取的帧数
# -f image2:指定输出格式为图像。FFmpeg支持多种输出格式,通过指定image2,我们告诉它将输出文件保存为图像文件
ffmpeg -i youtube.mp4 -vframes 1 -f image2 youtube-cover.jpg

视频压缩

ffmpeg -i input.mp4 -r 25 -crf 23 -s 1280x720 output.mp4
  • r 帧率
  • crf 这个参数的取值范围为0-51,其中0为无损模式,数值越大,画质越差,生成的文件却越小。从主观上讲,18-28是一个合理的范围。18被认为是视觉无损的(从技术角度上看当然还是有损的),它的输出视频质量和输入视频相当。
  • s 设置画面的宽高,-s 1280x920
THE END
0/500
暂无评论