ffmpeg -- 常用口令

文章目录

1.视频格式转换

复制代码
ffmpeg -i input.avi output.mp4

2.设置比特率

复制代码
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.mp4

3.设置帧率

复制代码
ffmpeg -i input.avi -r 24 output.mp4

4.强制让输入视频帧率为1,输出视频帧率为24

复制代码
ffmpeg -r 1 -i input.m2v -r 24 output.mp4

5.长视频截短

复制代码
# 将一个时长为 2 小时的视频分割成每个时长为 0.5 小时的四个短视频
ffmpeg -i input_video.mp4 -t 00:30:00 -c copy part1.mp4
ffmpeg -ss 00:30:00 -i input_video.mp4 -t 00:30:00 -c copy part2.mp4
ffmpeg -ss 01:00:00 -i input_video.mp4 -t 00:30:00 -c copy part3.mp4
ffmpeg -ss 01:30:00 -i input_video.mp4 -c copy part4.mp4

-i input_video.mp4:指定输入视频文件。

-t 00:30:00:指定输出视频的持续时间为 30 分钟。

-ss 00:30:00:指定开始时间点为 30 分钟。

-c copy:指定使用"copy"方式来执行快速分割,以避免重新编码视频,提高处理速度。

part1.mp4、part2.mp4、part3.mp4、part4.mp4:分割出的四个短视频文件名。

6.自动分割视频的bash脚本

bash 复制代码
#!/bin/bash

# 检查输入参数
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 input_video.mp4 segment_duration_in_seconds"
    exit 1
fi

input_video=$1
segment_duration=$2

# 获取输入视频文件的基本名称(不包括扩展名)
filename=$(basename -- "$input_video")
filename_no_ext="${filename%.*}"

# 计算视频时长并取整
duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$input_video" | cut -f1 -d.)

# 计算分割成几段
segments=$((duration / segment_duration))

# 分割视频
for ((i=0; i<segments; i++)); do
    start_time=$((i * segment_duration))
    output_file="${filename_no_ext}_part${i}.mp4"
    ffmpeg -ss $start_time -i "$input_video" -t $segment_duration -c copy "$output_file"
done

echo "视频分割完成!"

7.每一帧都保存成图片

复制代码
ffmpeg -i input_video.mp4 -vf "fps=1" image-%04d.png

小心硬盘空间不够哦 -- test.split 是我做测试的文件夹,里面是视频的每一帧图片,视频大小30M,图片大小 274M

相关推荐
海带紫菜菠萝汤2 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
程序员老陆1 天前
FFmpeg6的滤镜函数解析
ffmpeg·音视频·avfilter
看浪的路人1 天前
第10讲:Python 调用 FFmpeg 批量处理——打造你的视频处理工具箱
python·ffmpeg·音视频
程序员老陆2 天前
FFmpeg 时间戳全解:从 av_rescale_q 到时间基黑洞
ffmpeg·音视频·时间基
水獭比特2 天前
自动成片没报错,为什么音画还会漂?
ffmpeg
Yeauty2 天前
2026 年在 Rust 里处理音视频,该走哪条路?
rust·ffmpeg·音视频·视频
勿忘初心12213 天前
【Windows流媒体实战1】FFmpeg+Nginx-RTMP Windows详细搭建教程
ffmpeg·nginx-rtmp·windows流媒体搭建·rtmp直播
勿忘初心12213 天前
【Windows流媒体实战2】SpringBoot2.x 整合FFmpeg 完整实操教程
ffmpeg·springboot·流媒体开发·nginx-rtmp·rtmp视频录制
Yeauty6 天前
你那条 ffmpeg 命令,一键翻成 Rust builder 代码
开发语言·rust·ffmpeg
Yeauty7 天前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频