使用ffmpeg删除第一章

时间:2017-01-06 16:13:27

标签: ffmpeg

我正在尝试删除电视节目rip的第一章。这个想法是有类似于netflix的东西,第一集将显示介绍然后连续剧集不会。

我已经使用ffprobe获取章节时间,然后使用此

手动完成
for %%A IN (*.mp4) DO ffmpeg -ss <CHAPTERTIME> -i "%%A" -vcodec copy -acodec copy "tmp.mp4" && DEL "%%A" && RENAME "tmp.mp4" "%%A"

如何传递第一章时间码值,以便ffmepg知道在哪里寻找?

同时希望使用相同的值来偏移字幕,使它们在剪切后对齐。

注意:我正在进行切割的机器是Windows,但如果更容易,我可以使用我的FreeBSD服务器。

1 个答案:

答案 0 :(得分:0)

这可能是最糟糕的做法,但至少它有效,仍然无法让它分批工作。

@setlocal enableextensions enabledelayedexpansion
@echo off

for %%A IN (*.mp4) DO ffprobe -show_chapters -print_format flat "%%A" > out.txt

for /f "tokens=* delims=" %%a in ('findstr /C:"chapters.chapter.1.start_time=" out.txt') do (
set S=%%a
set S=!S:~30,20!
echo !S!
)

for %%A IN (*.mp4) DO ffmpeg -ss !S! -i "%%A" -vcodec copy -acodec copy "tmp.mp4" && DEL "%%A" && RENAME "tmp.mp4" "%%A"

endlocal