ffmpeg - 如何使用 ffmpeg 将视频准确定位在 jpeg 中的特定像素位置?

标签 ffmpeg pixel video-processing ffmpeg-php

例如,

  • 有一个尺寸为 1900x1000 的 jpeg,它有一个像素坐标为 490x100 和 1400x500
  • 的框架(矩形)
  • 需要将分辨率为 720p 的视频放置在此矩形内

  • 您能否分享 ffmpeg 命令来连接 jpeg 和视频?我试过-hstack-xstack过滤器。但是,无法在矩形内获取视频。
    TIA

    最佳答案

    您的矩形大小为 910x400,因此您必须缩小 1280x720 视频以适应。但纵横比不匹配。因此,如果要保留纵横比,您还需要填充或裁剪 1280x720 视频以正确适合 910x400。
    结合这些答案:

  • Resizing videos with ffmpeg to fit into static size
  • How to overlay with ffmpeg?

  • 裁剪以适应
    ffmpeg -i image.jpg -i video.mp4 -filter_complex "[1]scale=910:400:force_original_aspect_ratio=increase,crop=910:400[fg];[0][fg]overlay=x=490:y=100,format=yuv420p" -c:a copy -movflags +faststart output.mp4
    
    适合的垫
    ffmpeg -i image.jpg -i video.mp4 -filter_complex "[1]scale=910:400:force_original_aspect_ratio=decrease,pad=910:400:-1:-1[fg];[0][fg]overlay=x=490:y=100,format=yuv420p" -c:a copy -movflags +faststart output.mp4
    
    挤压/拉伸(stretch)以适应
    这将忽略纵横比并导致图像失真。
    ffmpeg -i image.jpg -i video.mp4 -filter_complex "[1]scale=910:400,setsar=1[fg];[0][fg]overlay=x=490:y=100,format=yuv420p" -c:a copy -movflags +faststart output.mp4
    

    关于ffmpeg - 如何使用 ffmpeg 将视频准确定位在 jpeg 中的特定像素位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68019238/

    相关文章:

    ffmpeg - 如何在服务器上使用 ffmpeg 从 WebRTC 流中获取音频和视频

    audio - 在 Android 上运行 ffmpeg 命令会导致 "Unable to find a suitable output format for ' -map 0 :v:0 -map 1:a: 0'"

    Java,特定字体的给定字母中的像素

    java - 如何用颜色代码制作if语句

    android - 使用前置摄像头录制视频时分别获取视频和音频缓冲区

    ffmpeg - 如何在 wowza 中从文件设置传入流?

    macos - 通过 ffmpeg 使用单播 RTSP URI

    c++ - 使用数据坐标到像素坐标构建图像

    video - 以编程方式在视频剪辑上添加数百个图像叠加层

    python - 使用 Python 测量 OpenCv 上像素之间的距离