【7种使用FFmpeg分割视频的方法】【转载】

做视频媒体运营的朋友要分割视频有很多工具可以用,例如:剪映。如果要把视频分割做成批量任务或者需要很多自定义功能,那么FFmpeg是个不错的选择,FFmpeg是个命令行工具,也可以写程序调用,对技术人员来说使用起来比较灵活,对于非技术人员可能稍有点麻烦。下面介绍7种使用FFmpeg分割视频的方法。

01

将视频分割成帧

ffmpeg -i video.mp4 thumb%04d.jpg -hide_banner

此命令允许您从视频中提取特定帧,这些帧是组成视频的图像文件。例如视频以每秒24帧的速度运行,则意味着在视频播放时,每秒有24张图像显示在屏幕上。此命令可用于将视频分割为帧并提取单个帧。

02

按大小拆分视频

./split-video.sh huge-video.mov 64000000 "-c:v libx264 -crf 23 -c:a copy -vf scale=960:-1"

在命令中,数字64000000表示64MB,这意味着您的视频将被拆分为每个大小为64MB的块。您可以更改该数字以指定大小。

此命令允许您将较大的视频剪切为特定文件大小的较小视频。当您的视频很大,但只需要特定大小的特定部分用于上传或共享时,这个命令就很有用。其中split-video.sh是依赖于ffmpeg的shell脚本,脚本代码如下:

#!/bin/bash# Short script to split videos by filesize using ffmpeg by LukeLR
if [ $# -ne 3 ]; then    echo 'Illegal number of parameters. Needs 3 parameters:'    echo 'Usage:'    echo './split-video.sh FILE SIZELIMIT "FFMPEG_ARGS'    echo     echo 'Parameters:'    echo '    - FILE:        Name of the video file to split'    echo '    - SIZELIMIT:   Maximum file size of each part (in bytes)'    echo '    - FFMPEG_ARGS: Additional arguments to pass to each ffmpeg-call'    echo '                   (video format and quality options etc.)'    exit 1fi
FILE="$1"SIZELIMIT="$2"FFMPEG_ARGS="$3"
# Duration of the source videoDURATION=$(ffprobe -i "$FILE" -show_entries format=duration -v quiet -of default=noprint_wrappers=1:nokey=1|cut -d. -f1)
# Duration that has been encoded so farCUR_DURATION=0
# Filename of the source video (without extension)BASENAME="${FILE%.*}"
# Extension for the video parts#EXTENSION="${FILE##*.}"EXTENSION="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值