快刀集(1): 一刀斩断视频片头广告

一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。


1. 引子

作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。

电影嘛,要沉浸,要专注,要氛围。结果有些无良的发布者非得在前面贴上几十秒、几分钟的广告片头:"本片由 ××× 高清首发!"、"关注我们不迷路!"、"...全国可飞",再加点音乐、加点 LOGO、再来个 10 秒静音背景图。

孰能忍?叔不能忍。------码农秋动刀了。


2. 刀长啥样

核心思路:FFmpeg + Shell脚本,无损剪切,一刀斩首。

这把刀的设计思路

  • 锋刃:FFmpeg(专业视频处理神器)
  • 刀柄:Shell脚本自动化控制
  • 招式:从指定时间开始截取,无损复制
  • 效果:覆盖原文件,保持文件名不变

简单来说,就是告诉FFmpeg:"从第X秒开始,后面的我全要,前面的垃圾统统扔掉。"


3. 铸刀

神器登场:mvcut脚本,简单粗暴,一招制敌。

bash 复制代码
#!/bin/bash

if [ $# -lt 2 ]; then
  echo "用法: $0 <视频文件> <剪掉时间 (秒或 00:02:00)>"
  exit 1
fi

INPUT_PATH="$1"
CUT_TIME="$2"

INPUT_FILE="$(cd "$(dirname "$INPUT_PATH")"; pwd)/$(basename "$INPUT_PATH")"
DIRNAME=$(dirname "$INPUT_FILE")
BASENAME=$(basename "$INPUT_FILE")
EXT="${BASENAME##*.}"
FILENAME="${BASENAME%.*}"
TEMP_FILE="${DIRNAME}/${FILENAME}_cut.${EXT}"

ffmpeg -hide_banner -loglevel error -ss "$CUT_TIME" -i "$INPUT_FILE" -c copy "$TEMP_FILE"

if [ $? -ne 0 ]; then
  echo "剪辑失败:$INPUT_FILE"
  exit 1
fi

rm -f "$INPUT_FILE"
mv "$TEMP_FILE" "$INPUT_FILE"
echo "搞定了:${INPUT_FILE}"

铸刀心法

  • -ss 参数是这把刀的锋刃,告诉FFmpeg从哪里开始切
  • -c copy 是刀的精髓,无损复制,不重新编码,速度贼快
  • 先切到临时文件,成功了再替换原文件,避免切坏了丢失原片

4. 牛刀小试

实战演示:假如有个 movie.mp4,前面2分钟都是垃圾广告。

出刀!干掉前120秒

bash 复制代码
mvcut movie.mp4 120

再来一刀!干掉前2分钟

bash 复制代码
mvcut movie.mp4 00:02:00

装备到全身

bash 复制代码
# 安家落户
mkdir -p ~/.local/bin
# 把上面代码保存为 ~/.local/bin/mvcut

# 开光加持
chmod +x ~/.local/bin/mvcut

# 随身携带
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

刀法效果:一刀下去,前面垃圾不见了,文件名还是原来的,干净利落。想剪多少秒就剪多少秒,支持时间格式,想怎么切就怎么切。


5. 后记

这把小刀虽短,但好用。我不搞高大上的GUI,也不做视频特效,一把命令行小刀,够利落,够狠。

下回再写一招"批量斩首",或者"片尾花字清除术",继续为电影"正义"而战。

老码农的江湖格言:人生苦短,片头别长。


码农秋:在代码堆里打滚的老兵 | 2025-06-07 | 快刀·一闪系列

相关推荐
vortex512 小时前
探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
linux·开发语言·bash·shell·dash
itachi-uchiha1 天前
awk处理xml文件&&封装集合变量和调用
xml·shell·awk
粉红色回忆2 天前
在bash中进行基本数值计算
shell
粉红色回忆4 天前
linux 如何自定义文件描述符
shell
薛定谔的猫_C8T64 天前
程序人生-Hello’s P2P
c语言·汇编·程序人生·shell·二进制·计算机系统·hello
孙克旭_4 天前
day027-Shell自动化编程-基础
linux·运维·自动化·shell
shut up5 天前
Git的使用技巧
gitee·github·shell
粉红色回忆5 天前
linux简单理解输入输出重定向
shell
开挖掘机上班5 天前
Bash shell四则运算
linux·开发语言·bash·shell