好的,我可以在不使用 MCEbuddy2x 的情况下手动运行所有内容。以下是我的发现:
- Comskip.exe “D:\My Videos\AR\On Patrol Live S04E26 2025-10-18-2058_original.mpg”
生成了 ‘On Patrol Live S04E26 2025-10-18-2058.edl (220 Bytes)
- Comskip 生成的 EDL 格式,FFMPEG 无法使用
| 问题 |
Comskip 生成的 EDL |
FFmpeg 需要的 |
|
| 格式 |
1519.38 1560.12 |
0:25:19.38 0:26:00.12 |
|
所以,我编写了一个 powershell 脚本将 EDL 转换为 HH:MM:SS 格式。
$edlContent = Get-Content "D:\My videos\ar\On Patrol Live S04E26 2025-10-18-2058.edl"
$convertedEdl = @()
foreach ($line in $edlContent) {
$parts = $line -split '\s+'
if ($parts.Length -ge 2) {
try {
$startSec = [double]$parts[0]
$endSec = [double]$parts[1]
$startTime = [TimeSpan]::FromSeconds($startSec)
$endTime = [TimeSpan]::FromSeconds($endSec)
$newLine = "{0:hh\:mm\:ss\.ff} {1:hh\:mm\:ss\.ff} 1 0.0 COMMERCIAL" -f $startTime, $endTime
$convertedEdl += $newLine
} catch {
Write-Host "Skipping invalid line: $line" -ForegroundColor Yellow
}
}
}
- 我的 FFMPEG 缺少 -vf “edl_overlay”,我不知道为什么。稍后会处理这个问题。
使用转换后的 edl 文件,我手动运行了 FFMPEG:
Using ffmpeg version 8.0-essentials_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
ffmpeg -hwaccel auto -i “D:\\My videos\\ar\\On Patrol Live S04E26 2025-10-18-2058.mpg” -vf “select=‘not(between(t,1519.38,1750.32)+between(t,2535.10,2806.27)+between(t,3442.84,3713.94)+between(t,4578.04,4854.32)+between(t,5601.83,5877.97)+between(t,6559.39,6830.66)+between(t,7746.77,8022.91)+between(t,8246.04,8331.69)+between(t,8534.13,8824.55)+between(t,9284.04,9555.21)+between(t,10034.46,10276.00)+between(t,10540.53,10650.94))’” -c:v h264_nvenc -preset fast -c:a aac “D:\\My videos\\ar\\Clean_Show.mkv”
Clean_Show.edl (504 Bytes)
注意:我的 profile.conf 使用的是 \[MKV Nividia\]:
[MKV Nividia]
Description=HEVC in MKV (H.265/AC3) conversion using NVIDIA NVENC. Creates a smaller file (50% smaller than H.264) with comparable quality and much faster performance.
order=handbrake,ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -tag:v hvc1 -vf yadif=0:-1:1,hqdn3d -vcodec hevc_nvenc -preset p4 -rc vbr -cq 26 -map 0:v -sn
ffmpeg-audio=-acodec ac3 -b:a 160k -map 0:a
ffmpeg-audioac3=-acodec ac3 -b:a 256k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-general=–decomb --loose-anamorphic --verbose=2
handbrake-video=–start-at duration:0 -e nvenc_h265 --encoder-preset medium -q 26
handbrake-audio=-E ffac3 -R auto -B 160 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 256 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true
结论:Comskip 可以工作,尽管需要一些调整。鉴于此并显示了我的结果——问题是否出在我的 profile.con \[MKV Nivida\]?
FFmpeg 和 edl overlay 问题呢?