我已经使用该ffmpeg包创建了一个wmv文件gif(请参见下文).标题显示几秒钟,然后消失.是否有我可以应用的设置,以便在整个持续时间内将标题显示在视频中?
ffmpeg -i Input.gif -s 300x300 -metadata title="Testing" Output.wmv
Run Code Online (Sandbox Code Playgroud)
根据Maxito的建议,我已将代码修改为
ffmpeg -i Input.gif -vf drawtext="text='Text to write is this one, overlaid':fontsize=20:fontcolor=red:x=100:y=100" Output_Text.wmv
Run Code Online (Sandbox Code Playgroud)
收到以下错误消息:
[AVFilterGraph @ 0x100115cc0] No such filter: 'drawtext'
Error opening filters!
Run Code Online (Sandbox Code Playgroud)
这是我在Mac 10.6.8上使用的ffmpeg版本.是否需要重新编译?
ffmpeg version 2.5.3
built on Jan 19 2015 13:08:24 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect
libavutil 54. 15.100 …Run Code Online (Sandbox Code Playgroud) 我写阿拉伯语文本到视频,它工作正常但问题是阿拉伯语言是从右到左书写所以文本必须右对齐而不是左边我得到像这样的文字
它应该是这样的
我的代码
ffmpeg -y -i input.mp4 -vf "drawtext=text_shaping=1:fontfile=C\/:/Windows/Fonts/tradbdo.ttf:\
textfile=text-new.txt:fontcolor=white:fontsize=40:x=w-tw:y=h-50*t:" -c:v libx264 output.mp4
Run Code Online (Sandbox Code Playgroud) 我想使用 FFmpeg 的绘制文本过滤器的 x,y 坐标变量,这样我就可以向它们提供实时数据。下面的 sendcmd 解决方案有效,但我必须在开头添加相对时间码,以便 FFmpeg 可以将坐标链接到时间位置。是否可以在没有时间码的情况下仅使用实际坐标来完成并告诉 FFmpeg 它应该每 100 毫秒更新这些坐标?
在我的例子中,它看起来像这样:
cmd.txt
Drawtext 重新初始化 'x=960:y=540'; (当实时源出现新位置时,坐标会发生变化,FFmpeg 会定期通过 sendcmd 更新这些位置)。
谢谢!
我使用以下命令使用字体 TIMESNEWROMAN 在视频中添加水印:
\nffmpeg -i input.webm -vf "drawtext=text='\xc2\xa9 Krishna':fontfile=C//:/Windows/Fonts/times.ttf:x=(main_w-text_w-10):y=(main_h-text_h-10):fontsize=32:fontcolor=black:box=1:boxcolor=white@0.5: boxborderw=5" -preset ultrafast output.mp4\nRun Code Online (Sandbox Code Playgroud)\n现在,我想提供字体 TIMESNEWROMAN 或任何其他字体,而不是字体文件路径。可以这样做吗?
\n我正在使用 ffmpeg 使用以下命令将 RTSP 流捕获到文件中:
ffmpeg -i rtsp://[IP Address]:[port]/[URL] -vcodec copy -r 60 -t 2600 -y /[outputfile].mp4
Run Code Online (Sandbox Code Playgroud)
这工作正常并且可以捕获 60 分钟。我希望能够做的是:
capture1.mp4 capture2.mp4等。LIVE555...)。我想把它改成
source + timestamp.这在 ffmpeg 中是可能的还是我需要在 ffmpeg 命令周围放置一个脚本包装器?如果是这样,我可以重用的任何示例吗?这是在 Ubuntu linux 上使用最新的 ffmpeg 包并apt-get install ffmpeg用于安装,因此它是从源代码构建的。
谢谢
我正在尝试使用 ffmpeg 在视频上添加文本。我在 stackoverflow 中看到了很多帮助并遵循了它,但运气不好我没能成功。
我已经关注了这个线程。
这是我的命令
ffmpeg -i C:/source/TestScene.mov -vf drawtext="fontfile=c:/windows/fonts/arial.ttf: text='TestMessage': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy C:/source/TestScene_test.mov
Run Code Online (Sandbox Code Playgroud)
这是我的错误回溯
F:\SW\ffmpeg\bin>ffmpeg -i C:/source/TestScene.mov -vf drawtext="fontfile=c:/windows/fonts/arial.ttf: text='TestMessage': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy C:/source/TestScene_test.mov
ffmpeg version N-89127-g8f4702a93f Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 …Run Code Online (Sandbox Code Playgroud) 为什么sendcmdffmpeg 可以与drawtext, 和其他过滤器一起使用,但不能与scale,rotation和其他过滤器一起使用?
示例(此代码有效)
ffmpeg -i testIN.mp4 -filter_complex "[0:v]sendcmd=f=testTXT.cmd,drawtext=fontfile=PF.ttf:text='': fontcolor=white:fontsize=150" testOUT.mp4
Run Code Online (Sandbox Code Playgroud)
测试TXT.cmd
0 drawtext reinit 'text=111';
1 drawtext reinit 'text=222';
2 drawtext reinit 'text=333';
Run Code Online (Sandbox Code Playgroud)
示例(此代码不起作用)
ffmpeg -i testIN.mp4 -filter_complex "[0:v]sendcmd=f=testTXT.cmd,drawbox=x=10:y=10:w=100:h=100" testOUT.mp4
Run Code Online (Sandbox Code Playgroud)
测试TXT.cmd
0 drawbox reinit 'x=20:y=20:w=200:h=200';
1 drawbox reinit 'x=30:y=30:w=300:h=300';
2 drawbox reinit 'x=40:y=40:w=400:h=400';
Run Code Online (Sandbox Code Playgroud) 我正在使用 ffmpeg 库在特定时间在视频上绘制文本,我成功做到了现在我需要将文本从一个位置移动到另一个位置,但我不能这样做,所以任何人都可以建议我如何做到这一点
我正在使用此命令从上到下移动文本,但我无法确定从 x,y 移动到特定 x,y 的 x 和 Y
ffmpeg -i VideoInput.mp4 -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test':x=(w-text_w)/2:y=w/50\*mod(t\,2):fontsize=65" -acodec copy outputVideo.mp4
Run Code Online (Sandbox Code Playgroud) 我正在制作一个在线课程,为了避免盗版传播,我想在视频(包括个人用户信息)上加水印,这样它就不能上传到共享网站。现在是困难的部分:我会在视频中移动水印,每 30 秒移动 3/4 个随机位置。ffmpeg 有可能吗?