[FFmpeg-user] sendcmd and overlay
Michael Koch
astroelectronic at t-online.de
Sat Feb 1 23:01:31 EET 2020
Am 01.02.2020 um 21:38 schrieb Paul B Mahol:
> On 2/1/20, Michael Koch <astroelectronic at t-online.de> wrote:
>> Am 01.02.2020 um 21:16 schrieb Paul B Mahol:
>>> On 2/1/20, Michael Koch <astroelectronic at t-online.de> wrote:
>>>> I want to use sendcmd to set the x,y coordinates of the overlay filter.
>>>> If I write sendcmd before overlay, I get this error message:
>>>> Too many inputs specified for the "sendcmd" filter.
>>>> But the two inputs are required for the overlay filter. How can this
>>>> problem be solved?
>>>>
>>> Simply put it before one of inputs.
>> I don't understand what you mean. At which place shall I put it?
> One of inputs before overlay filter:
>
> [a]sendcmd=...[a];[a][b]overlay....
ok, I did try this command, but now I got another error message. It
seems that the overlay filter doesn't receive the x value.
c:\ffmpeg\ffmpeg -i main.mov -i lp.mp4 -filter_complex
"[1]scale=100:100,sendcmd=f=test.cmd[2];[0][2]overlay=x='':y=''" -q:v 2
-t 4 -y out.mp4
This is my test.cmd file:
0.0-1.0 overlay x 'lerp(1000,2000,t)',
overlay y 'lerp(800,800,t)';
1.0-2.0 overlay x 'lerp(2000,1500,t-1)',
overlay y 'lerp(800,400,t-1)';
2.0-8.0 overlay x 'lerp(1500,1500,t-2)',
overlay y 'lerp(400,500,t-2)';
Console output:
F:\Test>c:\ffmpeg\ffmpeg -i main.mov -i lp.mp4 -filter_complex "[1
]scale=100:100,sendcmd=f=test.cmd[2];[0][2]overlay=x='':y=''" -q:v 2 -t
4 -y out
.mp4
ffmpeg version git-2020-01-31-62d92a8 Copyright (c) 2000-2020 the FFmpeg
develop
ers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfi
g --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d
--enable-libb
luray --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus
--enable-libshine --e
nable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame
--enable
-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 -
-enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib
--enable-gmp --enab
le-libvidstab --enable-libvorbis --enable-libvo-amrwbenc
--enable-libmysofa --en
able-libspeex --enable-libxvid --enable-libaom --enable-libmfx
--enable-ffnvcode
c --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec
--enable-dxva2 -
-enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 67.100 / 58. 67.100
libavformat 58. 37.100 / 58. 37.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 72.100 / 7. 72.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000004507c0] st: 0 edit list: 1 Missing
key fram
e while searching for timestamp: 3600
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000004507c0] st: 0 edit list 1 Cannot
find an in
dex entry before timestamp: 3600.
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'main.mov':
Metadata:
major_brand : qt
minor_version : 537986816
compatible_brands: qt pana
creation_time : 2019-08-29T17:38:28.000000Z
com.panasonic.Semi-Pro.metadata.xml: <?xml version="1.0"
encoding="UTF-8" st
andalone="no" ?>
: <ClipMain
xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst
ance" xmlns="urn:schemas-Professional-Plug-in:Semi-Pro:ClipMetadata:v1.0">
: <ClipContent>
:
<GlobalClipID>060A2B340101010501010D21130000005767E053
00BB5534667A1060C1650131</GlobalClipID>
: <Duration>504</Duration>
: <EditUnit>1/50</EditUnit>
: <EssenceList>
: <Video>
: <Codec BitRate="150">H264_420_LongGOP</Codec>
: <ActiveLine>2160</ActiveLine>
: <ActivePixel>3840</ActivePixel>
: <BitDepth>8</BitDepth>
: <FrameRate>50p</FrameRate>
: <TimecodeType>NonDrop</TimecodeType>
: <StartTimecode>17:22:03:10</StartTimecode>
: </Video>
: <Audio>
: <Channel>2</Channel>
: <SamplingRate>48000</SamplingRate>
: <BitsPerSample>16</BitsPerSample>
: </Audio>
: </EssenceList>
: <ClipMetadata>
: <Rating>0</Rating>
: <Access>
: <CreationDate>2019-08-29T17:38:28+02:00</CreationD
ate>
: <LastUpdateDate>2019-08-29T17:38:28+02:00</LastUpd
ateDate>
: </Access>
: <Device>
: <Manufacturer>Panasonic</Manufacturer>
: <ModelName>DC-GH5S</ModelName>
: </Device>
: <Shoot>
: <StartDate>2019-08-29T17:38:28+02:00</StartDate>
: </Shoot>
: </ClipMetadata>
: </ClipContent>
: <UserArea>
: <AcquisitionMetadata
xmlns="urn:schemas-Professional-P
lug-in:P2:CameraMetadata:v1.2">
: <CameraUnitMetadata>
: <Gamma>
: <CaptureGamma>STANDARD</CaptureGamma>
: </Gamma>
: <Gamut>
: <CaptureGamut>BT.709</CaptureGamut>
: </Gamut>
: </CameraUnitMetadata>
: </AcquisitionMetadata>
: </UserArea>
: </ClipMain>
:
Duration: 00:00:10.08, start: 0.000000, bitrate: 145991 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661),
yuv420p(tv, bt709)
, 3840x2160 [SAR 1:1 DAR 16:9], 144245 kb/s, 50 fps, 50 tbr, 180k tbn,
100 tbc (
default)
Metadata:
creation_time : 2019-08-29T17:38:28.000000Z
timecode : 08:41:01:35
Stream #0:1(und): Audio: pcm_s16be (twos / 0x736F7774), 48000 Hz,
stereo, s1
6, 1536 kb/s (default)
Metadata:
creation_time : 2019-08-29T17:38:28.000000Z
timecode : 08:41:01:35
Stream #0:2(und): Data: none (tmcd / 0x64636D74), 1 kb/s (default)
Metadata:
creation_time : 2019-08-29T17:38:28.000000Z
timecode : 08:41:01:35
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'lp.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.36.100
Duration: 00:00:08.02, start: 0.000000, bitrate: 12308 kb/s
Stream #1:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1920x1920
, 12206 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : Video Handler
Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, flt
p, 128 kb/s (default)
Metadata:
handler_name : Audio Handler
Stream mapping:
Stream #0:0 (h264) -> overlay:main (graph 0)
Stream #1:0 (h264) -> scale (graph 0)
overlay (graph 0) -> Stream #0:0 (libx264)
Stream #1:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[Parsed_overlay_2 @ 0000000002f49c80] [Eval @ 000000000025e2c0]
Undefined consta
nt or missing '(' in ''
[Parsed_overlay_2 @ 0000000002f49c80] Error when evaluating the
expression '' fo
r x
[Parsed_overlay_2 @ 0000000002f49c80] Failed to configure input pad on
Parsed_ov
erlay_2
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
[aac @ 000000000048bbc0] Qavg: 126.881
[aac @ 000000000048bbc0] 2 frames left in the queue on closing
Conversion failed!
More information about the ffmpeg-user
mailing list