Paul B Mahol writes:

On 6/22/15, Thomas Seilund <t...@netmaster.dk> wrote:
Paul B Mahol writes:

On 6/22/15, Thomas Seilund <t...@netmaster.dk> wrote:
Hi All

I always get error "38 Function not implemented" when I send command to
video filter drawtext.

Here is the command I run and the result I get:

tps@t420:~/video/test$ echo Parsed_drawtext_1 text AA |
/home/tps/data/data/ffmpeg/tools/zmqsend -b tcp://127.0.0.1:5557
38 Function not implemented
tps@t420:~/video/test$

I run the command while I have this ffmpeg instance running:

tps@t420:~/video/test$ ffmpeg -loop 1 -i test.png -filter_complex
"zmq=bind_address=tcp\\\://127.0.0.1\\\:
5557,drawtext=text=AA:x=50:y=50:fontfile=/usr/share/fonts/truetype/freefont/

FreeMonoBold.ttf"  -f mpegts -c libx264 test.ts
ffmpeg version N-69238-g2699a37 Copyright (c) 2000-2015 the FFmpeg
developers
   built on Apr 23 2015 17:10:30 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration: --enable-gpl --enable-libmp3lame --enable-libvpx
--enable-

libx264 --enable-version3 --enable-libvorbis --enable-libfreetype
--enable-

libv4l2 --enable-libfdk-aac --enable-nonfree --enable-libpulse --enable-
libzmq
   libavutil      54. 17.100 / 54. 17.100
   libavcodec     56. 20.100 / 56. 20.100
   libavformat    56. 19.100 / 56. 19.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5.  8.101 /  5.  8.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
Input #0, png_pipe, from 'scoreboard.png':
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: png, pal8, 200x100 [SAR 72:72 DAR 2:1], 25 fps,
25

tbr, 25 tbn, 25 tbc
File 'test.ts' already exists. Overwrite ? [y/N] y
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x2d2c4c0] using SAR=1/1
[libx264 @ 0x2d2c4c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX
[libx264 @ 0x2d2c4c0] profile High 4:4:4 Predictive, level 1.1, 4:4:4
8-bit
Output #0, mpegts, to 'test.ts':
   Metadata:
     encoder         : Lavf56.19.100
     Stream #0:0: Video: h264 (libx264), yuv444p, 200x100 [SAR 1:1 DAR
2:1],

q=-1--1, 25 fps, 90k tbn, 25 tbc
     Metadata:
       encoder         : Lavc56.20.100 libx264
Stream mapping:
   Stream #0:0 (png) -> zmq
   drawtext -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
frame=14512 fps=1948 q=-1.0 Lsize=    2947kB time=00:09:40.40 bitrate=
41.6kbits/s
video:351kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 739.239502%



Any help would be very much appreciated

Looking at code command must be reinit and args are normal args you
usual give to drawtext filter.

But example with drawtext and zmq should really be added to docs.


Thanks

Thomas S
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Hi Paul,

Thanks a lot - it works - but it is slow !!

Now I run ffmpeg and pipe to ffplay to see the effect of the command.

I run this ffmpeg command:

tps@t420:~/video/test$ ffmpeg -loglevel debug -loop 1 -i test.png -
filter_complex "zmq=bind_address=tcp\\\://127.0.0.1\\\:
5557,drawtext=text=XX:x=50:y=50:fontfile=/usr/share/fonts/truetype/freefont/

FreeMonoBold.ttf"  -f mpegts -c libx264 - | ffplay -i -

And I run this command to change the drawtext filter:

tps@t420:~/video/test$ echo Parsed_drawtext_1 reinit text=CC |
/home/tps/data/data/ffmpeg/tools/zmqsend -b tcp://127.0.0.1:5557

There is a delay of 10+ seconds from I run the command until I see the
effect in ffplay.

I had hoped for instant effect - can I do something to get instant effect ?

Perhaps encoding and drawing text is not realtime at all? Try encoding
with -preset ultrafast

Thanks for you help

Thomas S
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


Hi Paul

Now I use -preset ultrafast and -re to encode real time.

Here is the command:

ffmpeg -re -y -loop 1 -i test.png -filter_complex "zmq=bind_address=tcp\\\://127.0.0.1\\\: 5557,drawtext=text=XX:x=50:y=50:fontfile=/usr/share/fonts/truetype/freefont/ FreeMonoBold.ttf" -f mpegts -c libx264 -preset ultrafast test.ts

As the ffmpeg command run I can see the number of seconds encoded.

When that number reaches 10 seconds I run the command:

echo Parsed_drawtext_1 reinit text=CC | /home/tps/data/data/ffmpeg/tools/zmqsend -b tcp://127.0.0.1:5557

Then I let the ffmpeg command run 10 seconds more.

When I replay the encoded file with ffplay I see the number of seconds replayed.

I expected to see new text from the drawtext filter after 10 seconds but the change did not occur until 12 seconds had passed - that is 2 seconds later that expected.

Perhaps your right - it is not a real time event ?

Thanks

Thomas S
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to