gpt4 book ai didi

ffmpeg - 如何使用 ffmpeg 廉价地 "undo"马赛克(即将图像分成两半或象限)?

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

FFMPEG 可以轻松获取多个输入并将它们堆叠成马赛克视频。我正在寻找一种相反的方法,特别是我想拍摄一个由四个流组成的视频流,这些流堆叠成象限,并将其分成四个独立的视频,其中包含坐标

video1 = [0, 0.5*w, 0, 0.5*h]
video2 = [0.5*w, w, 0, 0.5*h]
video3 = [0, 0.5*w, 0.5*h, h]
video4 = [0.5*w, w, 0.5*h, h]

我知道我可以使用 crop 通过四个单独的 ffmpeg 调用来做到这一点。过滤器,但这似乎不必要地昂贵。有没有办法在一个电话中做到这一点?

最佳答案

裁剪过滤器

您可以使用四个 crop在一个命令中过滤:

ffmpeg -i input -filter_complex "[0]crop=iw/2:ih/2:0:0[tl];[0]crop=iw/2:ih/2:ow:0[tr];[0]crop=iw/2:ih/2:0:oh[bl];[0]crop=iw/2:ih/2:ow:oh[br]" -map "[tl]" topleft.mp4 -map "[tr]" topright.mp4 -map "[bl]" bottomleft.mp4 -map "[br]" bottomright.mp4

比特流过滤器

比特流过滤器不同于普通过滤器。普通过滤器需要解码和编码。比特流过滤器对编码流数据进行操作,并且在不执行解码的情况下执行比特流级别修改。

h264_metadatahevc_metadata比特流过滤器可以在 SPS 中为 H.264 和 H.265/HEVC 编辑窗口裁剪偏移。这意味着它可以更改这些值而无需重新编码视频。文件大小将保持不变,但播放器将根据您设置的裁剪值裁剪视频。

H.264 320x240 输入示例:
ffmpeg -i input.mp4 -bsf:v h264_metadata=crop_right=160:crop_bottom=120 -c copy topleft.mp4 -bsf:v h264_metadata=crop_left=160:crop_bottom=120 -c copy topright.mp4  -bsf:v h264_metadata=crop_right=160:crop_top=120 -c copy bottomleft.mp4 -bsf:v h264_metadata=crop_left=160:crop_top=120 -c copy bottomright.mp4

这些字段以像素为单位。请注意,如果对色度进行二次采样,某些尺寸可能无法表示(这基本上意味着您应该只对典型视频使用偶数值)。

要编写此脚本,您可以 use ffprobe to get the width and height .

关于ffmpeg - 如何使用 ffmpeg 廉价地 "undo"马赛克(即将图像分成两半或象限)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552456/

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