gpt4 book ai didi

FFMPEG:使用 fast-seek 和 copyts 编码 WEBM 会导致错误的视频长度

转载 作者:行者123 更新时间:2023-12-04 23:23:23 25 4
gpt4 key购买 nike

我正在尝试将场景从软字幕 MKV 文件转换为具有两遍的硬字幕 WEBM 文件。视频编码很好,但是在媒体播放器上打开文件时显示的长度错误(它显示好像我已经从起点一直到终点对原始文件进行了编码)。

这是我正在使用的命令:

set timestamp=-ss 12:59.069 -to 16:14.277

ffmpeg -y %timestamp% -copyts -i source.mkv -shortest -c:v libvpx-vp9 -pass 1 -b:v 0 -crf 33 -threads 8 -speed 4 -tile-columns 6 -frame-parallel 1 -an -sn -vf scale=-1:720,subtitles=source.mkv -f webm NUL
ffmpeg -y %timestamp% -copyts -i source.mkv -shortest -c:v libvpx-vp9 -pass 2 -b:v 0 -crf 33 -threads 8 -speed 2 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a libopus -b:a 64k -sn -vf scale=-1:720,subtitles=source.mkv -f webm out.webm

在 MPC-BE 中打开视频时,视频会定期播放,直到 /image/6bRwc.png 上显示的点附近(这是我想要剪切的场景结束的地方)然后它只是跳到文件的末尾,当我尝试使用编码的视频时,这个错误的长度给我带来了各种各样的问题。

最佳答案

显然,您的播放器不喜欢非零的起始时间戳(至少在 WebM 中)。

因此,在写入之前重置时间戳(我假设您正在使用副本进行字幕过滤器对齐)。

在通行证 2 中,
ffmpeg -y %timestamp% -copyts -i source.mkv -shortest -c:v libvpx-vp9 -pass 2 -b:v 0 -crf 33 -threads 8 -speed 2 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a libopus -b:a 64k -sn -vf scale=-1:720,subtitles=source.mkv -output_ts_offset -12:59.069 -f webm out.web
其中 ts offset 的值是 ss 值的负数。

关于FFMPEG:使用 fast-seek 和 copyts 编码 WEBM 会导致错误的视频长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60013570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com