Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 在顶层将一个视频粘贴到另一个视频_Video_Encoding_Ffmpeg - Fatal编程技术网

Video 在顶层将一个视频粘贴到另一个视频

Video 在顶层将一个视频粘贴到另一个视频,video,encoding,ffmpeg,Video,Encoding,Ffmpeg,我有超过100多个视频,我需要在每个视频的顶层粘贴一个5秒avi视频(如水印或动画徽标)。它可以用AdobePremiere执行,但它太长太愚蠢了。我在哪里可以找到好的视频框架来执行此操作(任何语言)?还是用其他的方法?也许“ffmpeg”能帮上忙?任何帮助、链接、文档都非常好。不太清楚顶层5秒avi视频是什么意思。 我猜你的水印是5秒长,100多个视频是任意长度,你想把第一个放在第二个的某个位置 ffmpeg有一个覆盖过滤器。以下是文档 将一个视频叠加在另一个视频上 它有两个输入和一个输出,第

我有超过100多个视频,我需要在每个视频的顶层粘贴一个5秒avi视频(如水印或动画徽标)。它可以用AdobePremiere执行,但它太长太愚蠢了。我在哪里可以找到好的视频框架来执行此操作(任何语言)?还是用其他的方法?也许“ffmpeg”能帮上忙?任何帮助、链接、文档都非常好。

不太清楚顶层5秒avi视频是什么意思。 我猜你的水印是5秒长,100多个视频是任意长度,你想把第一个放在第二个的某个位置

ffmpeg有一个覆盖过滤器。以下是文档

将一个视频叠加在另一个视频上

它有两个输入和一个输出,第一个输入是“主”视频,第二个输入叠加在其上

它接受参数:x:y[:选项]

x是主视频上叠加视频的x坐标,y是y坐标。x和y是包含以下参数的表达式:

“主楼w,主楼h”

main input width and height
“W,H”

same as main_w and main_h
“叠加w,叠加h”

overlay input width and height
“w,h”

same as overlay_w and overlay_h 
选项是键=值对的可选列表,以“:”分隔

接受选项的描述如下

“rgb”

If set to 1, force the filter to accept inputs in the RGB color space. Default value is 0. 
请注意,帧是按时间戳顺序从每个输入视频中获取的,因此,如果它们的初始时间戳不同,最好将两个输入通过setpts=PTS-STARTPTS过滤器,使它们以相同的零时间戳开始,就像电影过滤器的示例一样

以下是一些例子:

# draw the overlay at 10 pixels from the bottom right
# corner of the main video.
overlay=main_w-overlay_w-10:main_h-overlay_h-10
这个对我很有用: ffmpeg-i./external/bb_high.mp4-i external/small.mp4-strict-2-filter_complex'overlay=10:10'output.mp4

但在5秒结束时,我认为最后一帧仍保留在覆盖层中


这就是gstreamer选项更好的地方。有一个视频混合器元素可以完全完成这类工作。

不使用ffmpeg,但使用Expression Encoder,您可以将图像或“运动图像”叠加在视频上,也可以轻松地将两个视频缝合在一起





好的。我将检查ffmpeg文档。谢谢你的提示。谢谢如果没有其他好方法,我们将接受您的答案。@LLAlive,gstreamer肯定会帮助您做到这一点。我不确定你对它是否满意。命令行管道应该允许您使用ffmpeg,并且没有ffmpeg的任何限制。但如果你不知道,这可能是一条漫长的路。