ffmpeg - 有没有办法使用 Ffmpeg 从.webm 中剪切前 1 秒的视频而没有关键帧?

标签 ffmpeg webm

最近我的任务是处理数千个视频,包括 .mp4 和 .webm。目标是从视频的前面剪掉 1 秒。作为一个限制,我想避免重新编码视频,因为工作的数量会花费太多时间。 .mp4 文件进展顺利,每项工作只需几秒钟。

然而,当试图为 .webm 文件完成同样的事情时,我遇到了障碍。这是我正在运行的命令:

ffmpeg -i downloaded_raw_vids/{{vid_hash}}.webm -ss 00:00:01 -map 0 -c copy trimmed_videos/{video_url}.webm

似乎发生的是 .webm 文件上没有发生任何剪切或编辑。现在,如果我将时间戳更改为类似
ffmpeg -i downloaded_raw_vids/{{vid_hash}}.webm -ss 00:00:15 -map 0 -c copy trimmed_videos/{video_url}.webm

我最终得到了一个大约前 10 秒被删掉的文件,但不是指定的 15 秒。

我的理解是 .webm 文件只能在关键帧上剪切,而且关键帧太稀疏,实际上无法按照最初的要求在 1 秒标记附近剪切。似乎第一个关键帧出现在 10 秒左右,这就是为什么 15 秒参数在该点处被剪切的原因。

最终我想知道是否有一种方法可以完成 1 秒的剪辑,而不必重新编码我正在使用的每个 .webm 文件。

最佳答案

Ultimately I am wondering if there is a way to accomplish the 1 second cut, without having to re-encode every .webm file I am working with.



不,您只能剪切关键帧,否则需要重新编码。没有技巧或魔术,这是时间视频压缩如何工作的属性。

关于ffmpeg - 有没有办法使用 Ffmpeg 从.webm 中剪切前 1 秒的视频而没有关键帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61214758/

相关文章:

image - ffmpeg 降低图像质量,而不是大小

javascript - 如何单独播放由 MediaRecorder 创建的 WEBM 文件

php - 通过 PHP 上传视频并在服务器上编码为 MP4 和/或 WebM?

FFMPEG:如何限制 filtergraph 内的无限循环视频持续时间?

iphone - iOS 5.1 上的 ffmpeg undefined symbol 错误

php - 如何停止 ffmpeg 写入日志命令行字符串

opencv - 当我构建 OpenCV 时,它无法识别我安装的 ffmpeg

python - 如何使用 ffmpeg-python 创建动画图像 WebM 文件

java - 使用 Android MediaRecorder 录制 webm

c++ - 使用 FFMPEG/libavformat 查找 WebM 的持续时间/帧数