gpt4 book ai didi

c++ - 使用 ffmpeg 从图像创建视频时为每个帧添加水印

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:01 27 4
gpt4 key购买 nike

我基本上是从 opengl 动画 uisng glreadpixels 和 unix 管道创建视频:FILE *ffmpeg = popen("/usr/local/Cellar/ffmpeg/2.5.4/bin/ffmpeg"
“-帧率 30”
“-vcodec 原始视频”
“-f 原始视频”
“-pix_fmt rgb32”
“-s 1080x720”
“-i 管道:0 -vf vflip -vcodec h264”
“-r 60”
"/Users/xamarin/Desktop/out.mp4", "w");
当我为视频创建帧时,是否可以在每个帧中添加水印。我知道如何在现有视频中添加水印,但我想在创建视频时添加水印,以便在下一步中获得带有水印的视频。给我一些可以做到这一点的 ffmpeg 参数。

最佳答案

使用 overlay filter :

ffmpeg \
-framerate 30 -f rawvideo -pixel_format rgb32 -video_size 1080x720 -i pipe:0 \
-i overlay.png \
-i audio.foo \
-filter_complex "[0:v]vflip[main];[main][1:v]overlay=format=rgb,format=yuv420p" \
-c:v libx264 -c:a aac -movflags +faststart output.mp4
  • rawvideo demuxer documentation列出 -pixel_format 而不是 -pix_fmt-video_size 而不是 -s

  • 当您包含 -f rawvideo 时,您可能不需要 -c:v rawvideo

  • 我删除了 -r 60,因为似乎没有必要复制帧。

  • format=rgb 添加到 RGB 输入的叠加过滤器时,您可能会看到视觉上的改进。然后使用格式过滤器生成具有 YUV 4:2:0 色度二次采样的 H.264 输出,这是非基于 FFmpeg 的播放器所需要的。

  • 如果您的观众将通过渐进式下载观看,
  • -movflags +faststart 会很有帮助。

关于c++ - 使用 ffmpeg 从图像创建视频时为每个帧添加水印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37288565/

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