您的位置:首页 > 财经 > 产业 > ffmpeg -- 常用口令

ffmpeg -- 常用口令

2024/12/23 5:04:43 来源:https://blog.csdn.net/jiangshandaiyou/article/details/141064035  浏览:    关键词:ffmpeg -- 常用口令

文章目录

      • 1.视频格式转换
      • 2.设置比特率
      • 3.设置帧率
      • 4.强制让输入视频帧率为1,输出视频帧率为24
      • 5.长视频截短
      • 6.自动分割视频的bash脚本
      • 7.每一帧都保存成图片

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脚本

#!/bin/bash# 检查输入参数
if [ "$#" -ne 2 ]; thenecho "Usage: $0 input_video.mp4 segment_duration_in_seconds"exit 1
fiinput_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++)); dostart_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"
doneecho "视频分割完成!"

7.每一帧都保存成图片

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com