Linux 下,如何批量给视频“加 LOGO”

Totem,mplayer,sopcast,realplayer,bmp
回复
zhhxie
帖子: 17
注册时间: 2006-03-02 10:11

Linux 下,如何批量给视频“加 LOGO”

#1

帖子 zhhxie » 2008-03-20 14:17

LOGO 是一张图片,加在视频的某个位置。

有没有这样的软件呢?
zhhxie
帖子: 17
注册时间: 2006-03-02 10:11

自问自答

#2

帖子 zhhxie » 2008-03-20 19:35

查了资料,问题解决了,使用:

ffmpeg -sameq -i <source_video_file> -vhook '/path_to/imlib2.so -x 0 -y 0 -i <image_file>' <output_video_file>

尖括号中:
source_video_file 原始视频文件
output_video_file 合成后的视频文件
image_file LOGO 的图片

更详细的参数说明,见:

http://ffmpeg.mplayerhq.hu/hooks.html

希望以上信息对碰到此问题的朋友有帮助。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2008-03-20 21:15

mencoder也有。支持多种滤镜。我blog里面有。ffmpeg的倒是用得少。
● 鸣学
头像
zhongx
帖子: 245
注册时间: 2006-04-15 18:40

#4

帖子 zhongx » 2008-03-20 21:51

位置问题呢?还是视频编辑软件用的顺手。
欲得之,奋取;得之,失落
zhhxie
帖子: 17
注册时间: 2006-03-02 10:11

#5

帖子 zhhxie » 2008-03-21 14:31

2 eexpress:

我看了您 blog 里关于 mencoder 的相关介绍,但没有找到这方面的,能不能举个例子呢?如果两者都能够达到一样的效果,我想对比一下它们的资源占用率,再从中选择一款来使用。谢谢。

2 zhongx:

LOGO 出现在视频上的位置,可以通过参数来控制,也可以实现诸如移动或色彩控制之类的功能,上面所给的文档里在写。

一些场合,用编辑软件是更合适的。更某些场合,只能用另外的方式来做了,比如为了更好地批量/自动化处理。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

我只测试过画框的和旋转的,你试试贴图的。

#6

帖子 eexpress » 2008-03-21 15:37

☎ mencoder -vf help
MEncoder 2:1.0~rc2-0ubuntu8 (C) 2000-2007 MPlayer Team
CPU: Genuine Intel(R) CPU T2050 @ 1.60GHz (Family: 6, Model: 14, Stepping: 8)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Available video filters:
rectangle : draw rectangle
bmovl : Read bitmaps from a FIFO and display them in window
crop : cropping
expand : expanding & osd
pp : postprocessing
scale : software scaling
vo : libvo wrapper
format : force output format
noformat : disallow one output format
yuy2 : fast YV12/Y422p -> YUY2 conversion
flip : flip image upside-down
rgb2bgr : fast 24/32bpp RGB<->BGR conversion
rotate : rotate
mirror : horizontal mirror
palette : 8bpp indexed (using palette) -> BGR 15/16/24/32 conversion
lavc : realtime mpeg1 encoding with libavcodec
lavcdeint : libavcodec's deinterlacing filter
pp7 : postprocess 7
dvbscale : calc Y scaling for DVB card
cropdetect : autodetect crop size
test : test pattern generator
noise : noise generator
yvu9 : fast YVU9->YV12 conversion
eq : soft video equalizer
eq2 : Software equalizer
halfpack : yuv planar 4:2:0 -> packed 4:2:2, half height
dint : drop interlaced frames
1bpp : 1bpp bitmap -> YUV/BGR 8/15/16/32 conversion
2xsai : 2xSai BGR bitmap 2x scaler
unsharp : unsharp mask & gaussian blur
swapuv : UV swapper
il : (de)interleave
fil : fast (de)interleaver
boxblur : box blur
sab : shape adaptive blur
smartblur : smart blur
perspective : perspective correcture
down3dright : convert stereo movie from top-bottom to left-right field
field : extract single field
denoise3d : 3D Denoiser (variable lowpass filter)
hqdn3d : High Quality 3D Denoiser
detc : de-telecine filter
telecine : telecine filter
tinterlace : temporal field interlacing
tfields : temporal field separation
ivtc : inverse telecine, take 2
ilpack : 4:2:0 planar -> 4:2:2 packed reinterlacer
dsize : reset displaysize/aspect
decimate : near-duplicate frame remover
softpulldown : mpeg2 soft 3:2 pulldown
pullup : pullup (from field sequence to frames)
filmdint : Advanced inverse telecine filer
framestep : Dump one every n / key frames
tile : Make a single image tiling x/y images
delogo : simple logo remover
remove-logo : Removes a tv logo based on a mask image.
hue : hue changer
spp : simple postprocess
uspp : ultra simple/slow postprocess
fspp : fast simple postprocess
qp : QP changer
mcdeint : motion compensating deinterlacer
geq : generic equation filter
yuvcsp : yuv colorspace converter
kerndeint : Kernel Deinterlacer
rgbtest : rgbtest
phase : phase shift fields
divtc : inverse telecine for deinterlaced video
harddup : resubmit duplicate frames for encoding
softskip : soft (post-filter) frame skipping for encoding
screenshot : screenshot to file
ass : Render ASS/SSA subtitles
yadif : Yet Another DeInterlacing Filter
blackframe : detects black frames
ow : overcomplete wavelet denoiser

http://eexpress.blog.ubuntu.org.cn/2007 ... 软件。devede/
mencoder的这些参数,要是都懂,会成神仙的。
● 鸣学
zhhxie
帖子: 17
注册时间: 2006-03-02 10:11

不太明白

#7

帖子 zhhxie » 2008-03-22 14:14

您能否给一示例命令给我,达到我所要的那个效果(在原始视频的某个位置贴上某个图片,然后生成另一个视频)。

从 blog 的内容或回贴中的信息里面,我找不到直接的帮助,里面的内容似乎只是在推荐 mencoder 本身,而不是用 mencoder 来解决这一问题。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#8

帖子 eexpress » 2008-03-22 14:51

bmovl的。我不会。它需要一个fifo的文件。你搜索mencoder + watermark吧。
下面是加方框的。
mencoder -ovc lavc -oac mp3lame -vf rectangle=240:200 小恐龙诞生记-片段.avi -o test.avi
● 鸣学
zhhxie
帖子: 17
注册时间: 2006-03-02 10:11

#9

帖子 zhhxie » 2008-03-24 17:41

mencoder + watermark 应该不行吧, watermark 是 ffmpeg 的 "video hook",参看这里:

http://ffmpeg.mplayerhq.hu/hooks.html

比较早的时候我用它做过,它是把图片放到视频那么大(可能是我设置方面的问题)。
eexpress 写了:bmovl的。我不会。它需要一个fifo的文件。你搜索mencoder + watermark吧。
下面是加方框的。
mencoder -ovc lavc -oac mp3lame -vf rectangle=240:200 小恐龙诞生记-片段.avi -o test.avi
回复