[Libav-user] Sendcmd command to change filter args during runtime is not understood when send from STDIN but is when send from zeromq

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[Libav-user] Sendcmd command to change filter args during runtime is not understood when send from STDIN but is when send from zeromq

Martti
I'm trying to change filter arguments (text value) during runtime with sendcmd commands but I'm having trouble sendcmd and drawtext understanding sent input. Same thing works when sent from zmq filter.

ffmpeg is started as:
```
ffmpeg -stdin -dumpgraph 1 -y -fflags nobuffer -f lavfi -re \
  -i "testsrc=size=1280x720:rate=25[x];[x]drawtext=fontsize=30:text=hello:x=(w-text_w)/2:y=(h-text_h)/2" \
  -an -c:v libx264 -r 25 -crf 30 -preset fast -pix_fmt yuv420p -flags +cgop -g 50 \
  -f hls  -segment_list_flags live \
  -hls_flags delete_segments+append_list \
  -hls_time 2  \
  -hls_list_size 5  \
  -hls_delete_threshold 5  \
  -hls_wrap 5  \
  -hls_segment_filename /var/www/html/stream/%d.ts \
  /var/www/html/stream/index.m3u8
```

Filter that I want to change during runtime is `Parsed_drawtext_1`

So I press ```C``` and copy/paste into window ```Parsed_drawtext_1 -1 reinit text='test'```

and it instead of changing text displayed I see
```
Enter command: <target>|all <time>|-1 <command>[ <argument>]
Parsed_drawtext_1 -1 reinit text='test'^M
Command reply for stream 0: ret:-38 res:
```

So far looking at code I assume sendcmd finds filter and sends to drawtext filter, but drawtext returns exit code 38 (not implemented)

What I'm doing wrong? This filter can be changed when I send with ZeroMq `Parsed_drawtext_1 reinit text='test'` and ZeroMq filter uses pretty much same code as sendcmd.


ffmpeg executable stdin handling: https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/fftools/ffmpeg.c#L3942

sendcmd code:

1. find matching filter https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/libavfilter/avfiltergraph.c#L1297
2. calls 'process_command' on filter https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/libavfilter/avfilter.c#L555
3. drawtext command https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/libavfilter/vf_drawtext.c#L877

vs
zmq filter code: https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/f_zmq.c#L177


Full Program output:
```
user@user:~/$ ffmpeg -stdin -dumpgraph 1 -y -fflags nobuffer -f lavfi -re   -i "testsrc=size=1280x720:rate=25[x];[x]drawtext=fontsize=30:text=hello:x=(w-text_w)/2:y=(h-text_h)/2"   -an -c:v libx264 -r 25 -crf 30 -preset fast -pix_fmt yuv420p -flags +cgop -g 50   -f hls  -segment_list_flags live   -hls_flags delete_segments+append_list   -hls_time 2    -hls_list_size 5    -hls_delete_threshold 5    -hls_wrap 5    -hls_segment_filename /var/www/html/stream/%d.ts   /var/www/html/stream/index.m3u8
ffmpeg version 4.1.4-1build2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.2.1-4ubuntu1)
  configuration: --prefix=/usr --extra-version=1build2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[Parsed_drawtext_1 @ 0x55e4e3337e40] Using "/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf"
+------------------+
| Parsed_testsrc_0 |default--[1280x720 1:1 rgb24]--Parsed_drawtext_1:default
|    (testsrc)     |
+------------------+

                                                       +-------------------+
Parsed_testsrc_0:default--[1280x720 1:1 rgb24]--default| Parsed_drawtext_1 |default--[1280x720 1:1 rgb24]--out:default
                                                       |    (drawtext)     |
                                                       +-------------------+

                                                        +--------------+
Parsed_drawtext_1:default--[1280x720 1:1 rgb24]--default|     out      |
                                                        | (buffersink) |
                                                        +--------------+

Input #0, lavfi, from 'testsrc=size=1280x720:rate=25[x];[x]drawtext=fontsize=30:text=hello:x=(w-text_w)/2:y=(h-text_h)/2':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55e4e33947c0] using SAR=1/1
[libx264 @ 0x55e4e33947c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x55e4e33947c0] profile High, level 3.1
[libx264 @ 0x55e4e33947c0] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=9 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=30.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/1.ts' for writing
Output #0, hls, to '/var/www/html/stream/index.m3u8':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame=   63 fps= 25 q=35.0 size=N/A time=00:00:00.76 bitrate=N/A speed=0.301x    
Enter command: <target>|all <time>|-1 <command>[ <argument>]
Parsed_drawtext_1 -1 reinit text='test'^M
Command reply for stream 0: ret:-38 res:
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 1.ts0.204x    
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/2.ts' for writing
[hls @ 0x55e4e333d040] Cannot use rename on non file protocol, this may lead to races and temporary partial files
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 2.ts
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/3.ts' for writing
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 3.ts0.768x    
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/4.ts' for writing
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 4.ts0.78x    
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/0.ts' for writing
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 0.ts
frame=  209 fps= 25 q=-1.0 Lsize=N/A time=00:00:08.32 bitrate=N/A speed=0.982x    
video:106kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x55e4e33947c0] frame I:5     Avg QP:17.10  size:  6972
[libx264 @ 0x55e4e33947c0] frame P:54    Avg QP:21.75  size:   656
[libx264 @ 0x55e4e33947c0] frame B:150   Avg QP:22.64  size:   252
[libx264 @ 0x55e4e33947c0] consecutive B-frames:  4.3%  0.0%  0.0% 95.7%
[libx264 @ 0x55e4e33947c0] mb I  I16..4: 77.5% 18.6%  3.8%
[libx264 @ 0x55e4e33947c0] mb P  I16..4:  2.7%  0.3%  0.1%  P16..4:  5.5%  0.2%  0.0%  0.0%  0.0%    skip:91.2%
[libx264 @ 0x55e4e33947c0] mb B  I16..4:  1.3%  0.2%  0.0%  B16..8:  1.1%  0.0%  0.0%  direct: 0.8%  skip:96.7%  L0:49.6% L1:43.8% BI: 6.5%
[libx264 @ 0x55e4e33947c0] 8x8 transform intra:15.0% inter:77.8%
[libx264 @ 0x55e4e33947c0] coded y,uvDC,uvAC intra: 2.2% 18.6% 7.3% inter: 0.0% 1.0% 0.0%
[libx264 @ 0x55e4e33947c0] i16 v,h,dc,p: 84% 11%  2%  2%
[libx264 @ 0x55e4e33947c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 54% 13% 32%  0%  0%  0%  0%  0%  0%
[libx264 @ 0x55e4e33947c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 30% 28%  3%  2%  3%  0%  3%  0%
[libx264 @ 0x55e4e33947c0] i8c dc,h,v,p: 45% 12% 37%  6%
[libx264 @ 0x55e4e33947c0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x55e4e33947c0] ref P L0: 47.7% 52.3%
[libx264 @ 0x55e4e33947c0] ref B L0: 60.3% 39.7%
[libx264 @ 0x55e4e33947c0] ref B L1: 90.8%  9.2%
[libx264 @ 0x55e4e33947c0] kb/s:103.41
Exiting normally, received signal 2.
```

_______________________________________________
Libav-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Sendcmd command to change filter args during runtime is not understood when send from STDIN but is when send from zeromq

Martti

So after debugging I see that there is no way to access lavfi filters from STDIN commands as ZMQ filter does it.


Filter that can be accessed drom STDIN command are contained in 'filtergraphs' global.

accessing:
https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/fftools/ffmpeg.c#L3938
```
            for (i = 0; i < nb_filtergraphs; i++) {
                FilterGraph *fg = filtergraphs[i];
                if (fg->graph) {
```

Those graphs are populated with init_simple_filtergraph() function when output file is created:
```
(gdb) bt
#0  init_simple_filtergraph (ist=0x555557975b10, ost=0x5555579755e0) at fftools/ffmpeg_filter.c:199
#1  0x0000555555665aba in open_output_file (o=0x7fffffffd250, filename=0x7fffffffdf95 "/var/www/html/stream/index.m3u8") at fftools/ffmpeg_opt.c:2526
#2  0x0000555555668df1 in open_files (l=0x555557969150, inout=0x555556a009cd "output", open_file=0x555555663fcc <open_output_file>) at fftools/ffmpeg_opt.c:3347
#3  0x0000555555669023 in ffmpeg_parse_options (argc=40, argv=0x7fffffffd8b8) at fftools/ffmpeg_opt.c:3401
#4  0x000055555568910e in main (argc=40, argv=0x7fffffffd8b8) at fftools/ffmpeg.c:4881
(gdb) up
#1  0x0000555555665aba in open_output_file (o=0x7fffffffd250, filename=0x7fffffffdf95 "/var/www/html/stream/index.m3u8") at fftools/ffmpeg_opt.c:2526
2526                    err = init_simple_filtergraph(ist, ost);
```

These `filtergraphs` filtergraphs do not contain `Parsed_drawtext_1` filter that I need. But filters that I need, that are drawing 'filter_frame()', are in Lavfi graph. which is accessible globally as ` (LavfiContext *) input_files->*input_files->ctx->priv_data`


I can see with GDB that this graph has filter named `Parsed_drawtext_1`
```
(gdb) print *((LavfiContext *)(*((*input_files[0])->ctx))->priv_data)->graph->filters[1]

$11 = {av_class = 0x555556e4c900 <avfilter_class>, filter = 0x555556f14b60 <ff_vf_drawtext>, name = 0x55555796b850 "Parsed_drawtext_1", input_pads = 0x55555796b7e0,
  inputs = 0x55555796b830, nb_inputs = 1, output_pads = 0x55555796c6e0, outputs = 0x55555796b750, nb_outputs = 1, priv = 0x55555796ba70, graph = 0x5555579698c0, thread_type = 0,
  internal = 0x55555796b770, command_queue = 0x0, enable_str = 0x0, enable = 0x0, var_values = 0x0, is_disabled = 0, hw_device_ctx = 0x0, nb_threads = 0, ready = 300,
  extra_hw_frames = -1}
```

which is sad because I really wanted to change these things from stdin and without using zeromq etc


On Fri, May 1, 2020 at 9:51 AM Martti <[hidden email]> wrote:
I'm trying to change filter arguments (text value) during runtime with sendcmd commands but I'm having trouble sendcmd and drawtext understanding sent input. Same thing works when sent from zmq filter.

ffmpeg is started as:
```
ffmpeg -stdin -dumpgraph 1 -y -fflags nobuffer -f lavfi -re \
  -i "testsrc=size=1280x720:rate=25[x];[x]drawtext=fontsize=30:text=hello:x=(w-text_w)/2:y=(h-text_h)/2" \
  -an -c:v libx264 -r 25 -crf 30 -preset fast -pix_fmt yuv420p -flags +cgop -g 50 \
  -f hls  -segment_list_flags live \
  -hls_flags delete_segments+append_list \
  -hls_time 2  \
  -hls_list_size 5  \
  -hls_delete_threshold 5  \
  -hls_wrap 5  \
  -hls_segment_filename /var/www/html/stream/%d.ts \
  /var/www/html/stream/index.m3u8
```

Filter that I want to change during runtime is `Parsed_drawtext_1`

So I press ```C``` and copy/paste into window ```Parsed_drawtext_1 -1 reinit text='test'```

and it instead of changing text displayed I see
```
Enter command: <target>|all <time>|-1 <command>[ <argument>]
Parsed_drawtext_1 -1 reinit text='test'^M
Command reply for stream 0: ret:-38 res:
```

So far looking at code I assume sendcmd finds filter and sends to drawtext filter, but drawtext returns exit code 38 (not implemented)

What I'm doing wrong? This filter can be changed when I send with ZeroMq `Parsed_drawtext_1 reinit text='test'` and ZeroMq filter uses pretty much same code as sendcmd.


ffmpeg executable stdin handling: https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/fftools/ffmpeg.c#L3942

sendcmd code:

1. find matching filter https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/libavfilter/avfiltergraph.c#L1297
2. calls 'process_command' on filter https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/libavfilter/avfilter.c#L555
3. drawtext command https://github.com/FFmpeg/FFmpeg/blob/b577968cabae4a0927adcf5d7c24fca5a7a8385d/libavfilter/vf_drawtext.c#L877

vs
zmq filter code: https://github.com/FFmpeg/FFmpeg/blob/master/libavfilter/f_zmq.c#L177


Full Program output:
```
user@user:~/$ ffmpeg -stdin -dumpgraph 1 -y -fflags nobuffer -f lavfi -re   -i "testsrc=size=1280x720:rate=25[x];[x]drawtext=fontsize=30:text=hello:x=(w-text_w)/2:y=(h-text_h)/2"   -an -c:v libx264 -r 25 -crf 30 -preset fast -pix_fmt yuv420p -flags +cgop -g 50   -f hls  -segment_list_flags live   -hls_flags delete_segments+append_list   -hls_time 2    -hls_list_size 5    -hls_delete_threshold 5    -hls_wrap 5    -hls_segment_filename /var/www/html/stream/%d.ts   /var/www/html/stream/index.m3u8
ffmpeg version 4.1.4-1build2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.2.1-4ubuntu1)
  configuration: --prefix=/usr --extra-version=1build2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[Parsed_drawtext_1 @ 0x55e4e3337e40] Using "/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf"
+------------------+
| Parsed_testsrc_0 |default--[1280x720 1:1 rgb24]--Parsed_drawtext_1:default
|    (testsrc)     |
+------------------+

                                                       +-------------------+
Parsed_testsrc_0:default--[1280x720 1:1 rgb24]--default| Parsed_drawtext_1 |default--[1280x720 1:1 rgb24]--out:default
                                                       |    (drawtext)     |
                                                       +-------------------+

                                                        +--------------+
Parsed_drawtext_1:default--[1280x720 1:1 rgb24]--default|     out      |
                                                        | (buffersink) |
                                                        +--------------+

Input #0, lavfi, from 'testsrc=size=1280x720:rate=25[x];[x]drawtext=fontsize=30:text=hello:x=(w-text_w)/2:y=(h-text_h)/2':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55e4e33947c0] using SAR=1/1
[libx264 @ 0x55e4e33947c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x55e4e33947c0] profile High, level 3.1
[libx264 @ 0x55e4e33947c0] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=9 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=30.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/1.ts' for writing
Output #0, hls, to '/var/www/html/stream/index.m3u8':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame=   63 fps= 25 q=35.0 size=N/A time=00:00:00.76 bitrate=N/A speed=0.301x    
Enter command: <target>|all <time>|-1 <command>[ <argument>]
Parsed_drawtext_1 -1 reinit text='test'^M
Command reply for stream 0: ret:-38 res:
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 1.ts0.204x    
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/2.ts' for writing
[hls @ 0x55e4e333d040] Cannot use rename on non file protocol, this may lead to races and temporary partial files
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 2.ts
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/3.ts' for writing
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 3.ts0.768x    
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/4.ts' for writing
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 4.ts0.78x    
[hls @ 0x55e4e333d040] Opening '/var/www/html/stream/0.ts' for writing
[hls muxer @ 0x55e4e3399800] Duplicated segment filename detected: 0.ts
frame=  209 fps= 25 q=-1.0 Lsize=N/A time=00:00:08.32 bitrate=N/A speed=0.982x    
video:106kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x55e4e33947c0] frame I:5     Avg QP:17.10  size:  6972
[libx264 @ 0x55e4e33947c0] frame P:54    Avg QP:21.75  size:   656
[libx264 @ 0x55e4e33947c0] frame B:150   Avg QP:22.64  size:   252
[libx264 @ 0x55e4e33947c0] consecutive B-frames:  4.3%  0.0%  0.0% 95.7%
[libx264 @ 0x55e4e33947c0] mb I  I16..4: 77.5% 18.6%  3.8%
[libx264 @ 0x55e4e33947c0] mb P  I16..4:  2.7%  0.3%  0.1%  P16..4:  5.5%  0.2%  0.0%  0.0%  0.0%    skip:91.2%
[libx264 @ 0x55e4e33947c0] mb B  I16..4:  1.3%  0.2%  0.0%  B16..8:  1.1%  0.0%  0.0%  direct: 0.8%  skip:96.7%  L0:49.6% L1:43.8% BI: 6.5%
[libx264 @ 0x55e4e33947c0] 8x8 transform intra:15.0% inter:77.8%
[libx264 @ 0x55e4e33947c0] coded y,uvDC,uvAC intra: 2.2% 18.6% 7.3% inter: 0.0% 1.0% 0.0%
[libx264 @ 0x55e4e33947c0] i16 v,h,dc,p: 84% 11%  2%  2%
[libx264 @ 0x55e4e33947c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 54% 13% 32%  0%  0%  0%  0%  0%  0%
[libx264 @ 0x55e4e33947c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 30% 28%  3%  2%  3%  0%  3%  0%
[libx264 @ 0x55e4e33947c0] i8c dc,h,v,p: 45% 12% 37%  6%
[libx264 @ 0x55e4e33947c0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x55e4e33947c0] ref P L0: 47.7% 52.3%
[libx264 @ 0x55e4e33947c0] ref B L0: 60.3% 39.7%
[libx264 @ 0x55e4e33947c0] ref B L1: 90.8%  9.2%
[libx264 @ 0x55e4e33947c0] kb/s:103.41
Exiting normally, received signal 2.
```

_______________________________________________
Libav-user mailing list
[hidden email]
https://ffmpeg.org/mailman/listinfo/libav-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".