Recherche avancée

Médias (1)

Mot : - Tags -/ipad

Autres articles (31)

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

Sur d’autres sites (4788)

  • how to add audio to existing video using FFMPEG at specific time ?

    29 juin 2023, par Yanshof

    I have video file (.avi) that contain video of 10 minutes. 
I also have audio file (.wav) that contain 1 minute of sound.

    



    I need to add the audio to the exist video but the audio need to start at after one minute of the video

    



    How to do it ?

    



    ( prefer using ffmpeg if its possible )

    



    try already this query ( 30 seconds delay )

    



    -i video.avi -i audio.wav -filter_complex \"[1]adelay=30000|30000[aud];[0][aud]amix\" - c:v copy out.avi"


    



    Attached the log of ffmpeg when trying to merge more then one wav :

    



    ffmpeg started on 2018-01-10 at 11:14:57
Report written to "ffmpeg-20180110-111457.log"
Command line:
ffmpeg.exe -report -i "..\\merged.avi" -i "Storage\\1.wav" -i "Storage\\2.wav" -i "Storage\\3.wav" -filter_complex "adelay=30000|30000" "adelay=91000|91000" "adelay=151000|151000" -c:v copy "Storage\\ALL.AVI"
ffmpeg version 3.4.1 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 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Splitting the commandline.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument '..\mergedVideoOnly.avi'.
Reading option '-i' ... matched as input url with argument '\Storage\0030_0130.wav'.
Reading option '-i' ... matched as input url with argument '\Storage\0130_0230.wav'.
Reading option '-i' ... matched as input url with argument '\Storage\0230_0330.wav'.
Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument 'adelay=30000|30000'.
Reading option 'adelay=91000|91000' ... matched as output url.
Reading option 'adelay=151000|151000' ... matched as output url.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option 'ALL.AVI' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option filter_complex (create a complex filtergraph) with argument adelay=30000|30000.
Successfully parsed a group of options.
Parsing a group of options: input url ..\mergedVideoOnly.avi.
Successfully parsed a group of options.
Opening an input file: ..\mergedVideoOnly.avi.
[NULL @ 042ed360] Opening '..\mergedVideoOnly.avi' for reading
[file @ 042ee300] Setting default whitelist 'file,crypto'
[avi @ 042ed360] Format avi probed with size=2048 and score=100
[avi @ 042ee500] use odml:1
[avi @ 042ed360] Before avformat_find_stream_info() pos: 5690 bytes read:100744 seeks:4 nb_streams:1
[avi @ 042ed360] parser not found for codec scpr, packets or times may be invalid.
[avi @ 042ed360] parser not found for codec scpr, packets or times may be invalid.
[avi @ 042ed360] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
[avi @ 042ed360] rfps: 2.916667 0.012539
[avi @ 042ed360] rfps: 2.916667 0.012539
[avi @ 042ed360] rfps: 3.000000 0.000000
[avi @ 042ed360] rfps: 3.083333 0.012539
[avi @ 042ed360] rfps: 3.083333 0.012539
[avi @ 042ed360] rfps: 5.916667 0.012539
[avi @ 042ed360] rfps: 5.916667 0.012539
[avi @ 042ed360] rfps: 6.000000 0.000000
[avi @ 042ed360] rfps: 6.000000 0.000000
[avi @ 042ed360] rfps: 6.083333 0.012539
[avi @ 042ed360] rfps: 6.083333 0.012539
[avi @ 042ed360] rfps: 8.916667 0.012539
[avi @ 042ed360] rfps: 8.916667 0.012539
[avi @ 042ed360] rfps: 9.000000 0.000000
[avi @ 042ed360] rfps: 9.083333 0.012539
[avi @ 042ed360] rfps: 9.083333 0.012539
[avi @ 042ed360] rfps: 11.916667 0.012539
[avi @ 042ed360] rfps: 11.916667 0.012539
[avi @ 042ed360] rfps: 12.000000 0.000000
[avi @ 042ed360] rfps: 12.000000 0.000000
[avi @ 042ed360] rfps: 12.083333 0.012539
[avi @ 042ed360] rfps: 12.083333 0.012539
[avi @ 042ed360] rfps: 14.916667 0.012539
[avi @ 042ed360] rfps: 14.916667 0.012539
[avi @ 042ed360] rfps: 15.000000 0.000000
[avi @ 042ed360] rfps: 15.083333 0.012539
[avi @ 042ed360] rfps: 15.083333 0.012539
[avi @ 042ed360] rfps: 17.916667 0.012539
[avi @ 042ed360] rfps: 17.916667 0.012539
[avi @ 042ed360] rfps: 18.000000 0.000000
[avi @ 042ed360] rfps: 18.000000 -0.000000
[avi @ 042ed360] rfps: 18.083333 0.012539
[avi @ 042ed360] rfps: 18.083333 0.012539
[avi @ 042ed360] rfps: 20.916667 0.012539
[avi @ 042ed360] rfps: 20.916667 0.012539
[avi @ 042ed360] rfps: 21.000000 0.000000
[avi @ 042ed360] rfps: 21.083333 0.012539
[avi @ 042ed360] rfps: 21.083333 0.012539
[avi @ 042ed360] rfps: 23.916667 0.012539
[avi @ 042ed360] rfps: 23.916667 0.012539
[avi @ 042ed360] rfps: 24.000000 0.000000
[avi @ 042ed360] rfps: 24.000000 -0.000000
[avi @ 042ed360] rfps: 24.083333 0.012539
[avi @ 042ed360] rfps: 24.083333 0.012539
[avi @ 042ed360] rfps: 26.916667 0.012539
[avi @ 042ed360] rfps: 26.916667 0.012539
[avi @ 042ed360] rfps: 27.000000 0.000000
[avi @ 042ed360] rfps: 27.083333 0.012539
[avi @ 042ed360] rfps: 27.083333 0.012539
[avi @ 042ed360] rfps: 29.916667 0.012539
[avi @ 042ed360] rfps: 29.916667 0.012539
[avi @ 042ed360] rfps: 30.000000 0.000000
[avi @ 042ed360] rfps: 30.000000 -0.000000
[avi @ 042ed360] rfps: 33.000000 0.000000
[avi @ 042ed360] rfps: 36.000000 0.000000
[avi @ 042ed360] rfps: 36.000000 -0.000000
[avi @ 042ed360] rfps: 39.000000 0.000000
[avi @ 042ed360] rfps: 42.000000 0.000000
[avi @ 042ed360] rfps: 42.000000 0.000000
[avi @ 042ed360] rfps: 45.000000 0.000000
[avi @ 042ed360] rfps: 48.000000 0.000000
[avi @ 042ed360] rfps: 48.000000 0.000000
[avi @ 042ed360] rfps: 51.000000 0.000000
[avi @ 042ed360] rfps: 54.000000 0.000000
[avi @ 042ed360] rfps: 54.000000 -0.000000
[avi @ 042ed360] rfps: 57.000000 0.000000
[avi @ 042ed360] rfps: 60.000000 0.000000
[avi @ 042ed360] rfps: 60.000000 0.000000
[avi @ 042ed360] rfps: 120.000000 0.000000
[avi @ 042ed360] rfps: 120.000000 -0.000000
[avi @ 042ed360] rfps: 240.000000 0.000000
[avi @ 042ed360] rfps: 240.000000 -0.000000
[avi @ 042ed360] rfps: 23.976024 0.001038
[avi @ 042ed360] rfps: 23.976024 0.001038
[avi @ 042ed360] rfps: 29.970030 0.001622
[avi @ 042ed360] rfps: 29.970030 0.001622
[avi @ 042ed360] rfps: 59.940060 0.006487
[avi @ 042ed360] rfps: 59.940060 0.006487
[avi @ 042ed360] rfps: 11.988012 0.000259
[avi @ 042ed360] rfps: 11.988012 0.000259
[avi @ 042ed360] rfps: 14.985015 0.000405
[avi @ 042ed360] rfps: 14.985015 0.000405
[avi @ 042ed360] rfps: 47.952048 0.004152
[avi @ 042ed360] rfps: 47.952048 0.004152
[avi @ 042ed360] After avformat_find_stream_info() pos: 105829 bytes read:175139 seeks:4 frames:15
Input #0, avi, from '..\mergedVideoOnly.avi':
  Metadata:
    encoder         : Lavf57.83.100
  Duration: 00:00:25.33, start: 0.000000, bitrate: 113 kb/s
    Stream #0:0, 15, 1/3: Video: scpr (SCPR / 0x52504353), rgb0, 1920x1200, 112 kb/s, 3 fps, 3 tbr, 3 tbn, 3 tbc
Successfully opened the file.
Parsing a group of options: input url " "\Storage\0030_0130.wav.
Successfully parsed a group of options.
Opening an input file: " "\Storage\1.wav.
[NULL @ 03be0180] Opening '" "\Storage\1.wav' for reading
[file @ 03be0820] Setting default whitelist 'file,crypto'
[wav @ 03be0180] Format wav probed with size=2048 and score=99
[wav @ 03be0180] Before avformat_find_stream_info() pos: 44 bytes read:65580 seeks:1 nb_streams:1
[wav @ 03be0180] probing stream 0 pp:32
[wav @ 03be0180] probing stream 0 pp:31
[wav @ 03be0180] probing stream 0 pp:30
[wav @ 03be0180] probing stream 0 pp:29
[wav @ 03be0180] probing stream 0 pp:28
[wav @ 03be0180] probing stream 0 pp:27
[wav @ 03be0180] probing stream 0 pp:26
[wav @ 03be0180] probing stream 0 pp:25
[wav @ 03be0180] probing stream 0 pp:24
[wav @ 03be0180] probing stream 0 pp:23
[wav @ 03be0180] probing stream 0 pp:22
[wav @ 03be0180] probing stream 0 pp:21
[wav @ 03be0180] probing stream 0 pp:20
[wav @ 03be0180] probing stream 0 pp:19
[wav @ 03be0180] probing stream 0 pp:18
[wav @ 03be0180] probing stream 0 pp:17
[wav @ 03be0180] probing stream 0 pp:16
[wav @ 03be0180] probing stream 0 pp:15
[wav @ 03be0180] probing stream 0 pp:14
[wav @ 03be0180] probing stream 0 pp:13
[wav @ 03be0180] probing stream 0 pp:12
[wav @ 03be0180] probing stream 0 pp:11
[wav @ 03be0180] probing stream 0 pp:10
[wav @ 03be0180] probing stream 0 pp:9
[wav @ 03be0180] probing stream 0 pp:8
[wav @ 03be0180] probing stream 0 pp:7
[wav @ 03be0180] probing stream 0 pp:6
[wav @ 03be0180] probing stream 0 pp:5
[wav @ 03be0180] probing stream 0 pp:4
[wav @ 03be0180] probing stream 0 pp:3
[wav @ 03be0180] probing stream 0 pp:2
[wav @ 03be0180] probing stream 0 pp:1
[wav @ 03be0180] probed stream 0
[wav @ 03be0180] parser not found for codec pcm_s16le, packets or times may be invalid.
[wav @ 03be0180] max_analyze_duration 5000000 reached at 5120000 microseconds st:0
[wav @ 03be0180] After avformat_find_stream_info() pos: 131116 bytes read:196652 seeks:1 frames:22
Guessed Channel Layout for Input Stream #1.0 : mono
Input #1, wav, from '" "\Storage\0030_0130.wav':
  Duration: 00:00:56.80, bitrate: 128 kb/s
    Stream #1:0, 22, 1/8000: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
Successfully opened the file.
Parsing a group of options: input url " "\Storage\2.wav.
Successfully parsed a group of options.
Opening an input file: " "\Storage\2.wav.
[NULL @ 03bed760] Opening '" "\Storage\2.wav' for reading
[file @ 03bb3100] Setting default whitelist 'file,crypto'
[wav @ 03bed760] Format wav probed with size=2048 and score=99
[wav @ 03bed760] Before avformat_find_stream_info() pos: 44 bytes read:65580 seeks:1 nb_streams:1
[wav @ 03bed760] probing stream 0 pp:32
[wav @ 03bed760] probing stream 0 pp:31
[wav @ 03bed760] probing stream 0 pp:30
[wav @ 03bed760] probing stream 0 pp:29
[wav @ 03bed760] probing stream 0 pp:28
[wav @ 03bed760] probing stream 0 pp:27
[wav @ 03bed760] probing stream 0 pp:26
[wav @ 03bed760] probing stream 0 pp:25
[wav @ 03bed760] probing stream 0 pp:24
[wav @ 03bed760] probing stream 0 pp:23
[wav @ 03bed760] probing stream 0 pp:22
[wav @ 03bed760] probing stream 0 pp:21
[wav @ 03bed760] probing stream 0 pp:20
[wav @ 03bed760] probing stream 0 pp:19
[wav @ 03bed760] probing stream 0 pp:18
[wav @ 03bed760] probing stream 0 pp:17
[wav @ 03bed760] probing stream 0 pp:16
[wav @ 03bed760] probing stream 0 pp:15
[wav @ 03bed760] probing stream 0 pp:14
[wav @ 03bed760] probing stream 0 pp:13
[wav @ 03bed760] probing stream 0 pp:12
[wav @ 03bed760] probing stream 0 pp:11
[wav @ 03bed760] probing stream 0 pp:10
[wav @ 03bed760] probing stream 0 pp:9
[wav @ 03bed760] probing stream 0 pp:8
[wav @ 03bed760] probing stream 0 pp:7
[wav @ 03bed760] probing stream 0 pp:6
[wav @ 03bed760] probing stream 0 pp:5
[wav @ 03bed760] probing stream 0 pp:4
[wav @ 03bed760] probing stream 0 pp:3
[wav @ 03bed760] probing stream 0 pp:2
[wav @ 03bed760] probing stream 0 pp:1
[wav @ 03bed760] probed stream 0
[wav @ 03bed760] parser not found for codec pcm_s16le, packets or times may be invalid.
[wav @ 03bed760] max_analyze_duration 5000000 reached at 5120000 microseconds st:0
[wav @ 03bed760] After avformat_find_stream_info() pos: 131116 bytes read:196652 seeks:1 frames:22
Guessed Channel Layout for Input Stream #2.0 : mono
Input #2, wav, from '" "\Storage\0130_0230.wav':
  Duration: 00:00:59.81, bitrate: 128 kb/s
    Stream #2:0, 22, 1/8000: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
Successfully opened the file.
Parsing a group of options: input url " "\Storage\3.wav.
Successfully parsed a group of options.
Opening an input file: " "\Storage\3.wav.
[NULL @ 03bfeea0] Opening '" "\Storage\3.wav' for reading
[file @ 03bfe8e0] Setting default whitelist 'file,crypto'
[wav @ 03bfeea0] Format wav probed with size=2048 and score=99
[wav @ 03bfeea0] Before avformat_find_stream_info() pos: 44 bytes read:65580 seeks:1 nb_streams:1
[wav @ 03bfeea0] probing stream 0 pp:32
[wav @ 03bfeea0] probing stream 0 pp:31
[wav @ 03bfeea0] probing stream 0 pp:30
[wav @ 03bfeea0] probing stream 0 pp:29
[wav @ 03bfeea0] probing stream 0 pp:28
[wav @ 03bfeea0] probing stream 0 pp:27
[wav @ 03bfeea0] probing stream 0 pp:26
[wav @ 03bfeea0] probing stream 0 pp:25
[wav @ 03bfeea0] probing stream 0 pp:24
[wav @ 03bfeea0] probing stream 0 pp:23
[wav @ 03bfeea0] probing stream 0 pp:22
[wav @ 03bfeea0] probing stream 0 pp:21
[wav @ 03bfeea0] probing stream 0 pp:20
[wav @ 03bfeea0] probing stream 0 pp:19
[wav @ 03bfeea0] probing stream 0 pp:18
[wav @ 03bfeea0] probing stream 0 pp:17
[wav @ 03bfeea0] probing stream 0 pp:16
[wav @ 03bfeea0] probing stream 0 pp:15
[wav @ 03bfeea0] probing stream 0 pp:14
[wav @ 03bfeea0] probing stream 0 pp:13
[wav @ 03bfeea0] probing stream 0 pp:12
[wav @ 03bfeea0] probing stream 0 pp:11
[wav @ 03bfeea0] probing stream 0 pp:10
[wav @ 03bfeea0] probing stream 0 pp:9
[wav @ 03bfeea0] probing stream 0 pp:8
[wav @ 03bfeea0] probing stream 0 pp:7
[wav @ 03bfeea0] probing stream 0 pp:6
[wav @ 03bfeea0] probing stream 0 pp:5
[wav @ 03bfeea0] probing stream 0 pp:4
[wav @ 03bfeea0] probing stream 0 pp:3
[wav @ 03bfeea0] probing stream 0 pp:2
[wav @ 03bfeea0] probing stream 0 pp:1
[wav @ 03bfeea0] probed stream 0
[wav @ 03bfeea0] parser not found for codec pcm_s16le, packets or times may be invalid.
[wav @ 03bfeea0] max_analyze_duration 5000000 reached at 5120000 microseconds st:0
[wav @ 03bfeea0] After avformat_find_stream_info() pos: 131116 bytes read:196652 seeks:1 frames:22
Guessed Channel Layout for Input Stream #3.0 : mono
Input #3, wav, from '" "\Storage\0230_0330.wav':
  Duration: 00:00:59.81, bitrate: 128 kb/s
    Stream #3:0, 22, 1/8000: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
Successfully opened the file.
detected 4 logical cores
[Parsed_adelay_0 @ 03c0c460] Setting 'delays' to value '30000|30000'
Parsing a group of options: output url adelay=91000|91000.
Successfully parsed a group of options.
Opening an output file: adelay=91000|91000.
[NULL @ 03c17640] Unable to find a suitable output format for 'adelay=91000|91000'
adelay=91000|91000: Invalid argument
[AVIOContext @ 042ee400] Statistics: 175139 bytes read, 4 seeks
[AVIOContext @ 03be0900] Statistics: 196652 bytes read, 1 seeks
[AVIOContext @ 03bca7e0] Statistics: 196652 bytes read, 1 seeks
[AVIOContext @ 03bfe9a0] Statistics: 196652 bytes read, 1 seeks


    


  • c++ - using FFmpeg encode and UDP with a Webcam

    14 mars, par Rendres

    I'm trying to get frames from a Webcam using OpenCV, encode them with FFmpeg and send them using UDP.

    



    I did before a similar project that instead of sending the packets with UDP, it saved them in a video file.

    



    My code is.

    



    #include &#xA;#include &#xA;#include &#xA;#include &#xA;&#xA;extern "C" {&#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;#include <libavformat></libavformat>avformat.h>&#xA;#include <libavutil></libavutil>opt.h>&#xA;#include <libavutil></libavutil>imgutils.h>&#xA;#include <libavutil></libavutil>mathematics.h>&#xA;#include <libswscale></libswscale>swscale.h>&#xA;#include <libswresample></libswresample>swresample.h>&#xA;}&#xA;&#xA;#include <opencv2></opencv2>opencv.hpp>&#xA;&#xA;using namespace std;&#xA;using namespace cv;&#xA;&#xA;#define WIDTH 640&#xA;#define HEIGHT 480&#xA;#define CODEC_ID AV_CODEC_ID_H264&#xA;#define STREAM_PIX_FMT AV_PIX_FMT_YUV420P&#xA;&#xA;static AVFrame *frame, *pFrameBGR;&#xA;&#xA;int main(int argc, char **argv)&#xA;{&#xA;VideoCapture cap(0);&#xA;const char *url = "udp://127.0.0.1:8080";&#xA;&#xA;AVFormatContext *formatContext;&#xA;AVStream *stream;&#xA;AVCodec *codec;&#xA;AVCodecContext *c;&#xA;AVDictionary *opts = NULL;&#xA;&#xA;int ret, got_packet;&#xA;&#xA;if (!cap.isOpened())&#xA;{&#xA;    return -1;&#xA;}&#xA;&#xA;av_log_set_level(AV_LOG_TRACE);&#xA;&#xA;av_register_all();&#xA;avformat_network_init();&#xA;&#xA;avformat_alloc_output_context2(&amp;formatContext, NULL, "h264", url);&#xA;if (!formatContext)&#xA;{&#xA;    av_log(NULL, AV_LOG_FATAL, "Could not allocate an output context for &#x27;%s&#x27;.\n", url);&#xA;}&#xA;&#xA;codec = avcodec_find_encoder(CODEC_ID);&#xA;if (!codec)&#xA;{&#xA;    av_log(NULL, AV_LOG_ERROR, "Could not find encoder.\n");&#xA;}&#xA;&#xA;stream = avformat_new_stream(formatContext, codec);&#xA;&#xA;c = avcodec_alloc_context3(codec);&#xA;&#xA;stream->id = formatContext->nb_streams - 1;&#xA;stream->time_base = (AVRational){1, 25};&#xA;&#xA;c->codec_id = CODEC_ID;&#xA;c->bit_rate = 400000;&#xA;c->width = WIDTH;&#xA;c->height = HEIGHT;&#xA;c->time_base = stream->time_base;&#xA;c->gop_size = 12;&#xA;c->pix_fmt = STREAM_PIX_FMT;&#xA;&#xA;if (formatContext->flags &amp; AVFMT_GLOBALHEADER)&#xA;    c->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;&#xA;&#xA;av_dict_set(&amp;opts, "preset", "fast", 0);&#xA;&#xA;av_dict_set(&amp;opts, "tune", "zerolatency", 0);&#xA;&#xA;ret = avcodec_open2(c, codec, NULL);&#xA;if (ret &lt; 0)&#xA;{&#xA;    av_log(NULL, AV_LOG_ERROR, "Could not open video codec.\n");&#xA;}&#xA;&#xA;pFrameBGR = av_frame_alloc();&#xA;if (!pFrameBGR)&#xA;{&#xA;    av_log(NULL, AV_LOG_ERROR, "Could not allocate video frame.\n");&#xA;}&#xA;&#xA;frame = av_frame_alloc();&#xA;if (!frame)&#xA;{&#xA;    av_log(NULL, AV_LOG_ERROR, "Could not allocate video frame.\n");&#xA;}&#xA;&#xA;frame->format = c->pix_fmt;&#xA;frame->width = c->width;&#xA;frame->height = c->height;&#xA;&#xA;ret = avcodec_parameters_from_context(stream->codecpar, c);&#xA;if (ret &lt; 0)&#xA;{&#xA;    av_log(NULL, AV_LOG_ERROR, "Could not open video codec.\n");&#xA;}&#xA;&#xA;av_dump_format(formatContext, 0, url, 1);&#xA;&#xA;ret = avformat_write_header(formatContext, NULL);&#xA;if (ret != 0)&#xA;{&#xA;    av_log(NULL, AV_LOG_ERROR, "Failed to connect to &#x27;%s&#x27;.\n", url);&#xA;}&#xA;&#xA;Mat image(Size(HEIGHT, WIDTH), CV_8UC3);&#xA;SwsContext *swsctx = sws_getContext(WIDTH, HEIGHT, AV_PIX_FMT_BGR24, WIDTH, HEIGHT, AV_PIX_FMT_YUV420P, SWS_BILINEAR, NULL, NULL, NULL);&#xA;int frame_pts = 0;&#xA;&#xA;while (1)&#xA;{&#xA;    cap >> image;&#xA;&#xA;    int numBytesYUV = av_image_get_buffer_size(STREAM_PIX_FMT, WIDTH, HEIGHT, 1);&#xA;    uint8_t *bufferYUV = (uint8_t *)av_malloc(numBytesYUV * sizeof(uint8_t));&#xA;&#xA;    avpicture_fill((AVPicture *)pFrameBGR, image.data, AV_PIX_FMT_BGR24, WIDTH, HEIGHT);&#xA;    avpicture_fill((AVPicture *)frame, bufferYUV, STREAM_PIX_FMT, WIDTH, HEIGHT);&#xA;&#xA;    sws_scale(swsctx, (uint8_t const *const *)pFrameBGR->data, pFrameBGR->linesize, 0, HEIGHT, frame->data, frame->linesize);&#xA;&#xA;    AVPacket pkt = {0};&#xA;    av_init_packet(&amp;pkt);&#xA;&#xA;    frame->pts = frame_pts;&#xA;&#xA;    ret = avcodec_encode_video2(c, &amp;pkt, frame, &amp;got_packet);&#xA;    if (ret &lt; 0)&#xA;    {&#xA;        av_log(NULL, AV_LOG_ERROR, "Error encoding frame\n");&#xA;    }&#xA;&#xA;    if (got_packet)&#xA;    {&#xA;        pkt.pts = av_rescale_q_rnd(pkt.pts, c->time_base, stream->time_base, AVRounding(AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX));&#xA;        pkt.dts = av_rescale_q_rnd(pkt.dts, c->time_base, stream->time_base, AVRounding(AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX));&#xA;        pkt.duration = av_rescale_q(pkt.duration, c->time_base, stream->time_base);&#xA;        pkt.stream_index = stream->index;&#xA;&#xA;        return av_interleaved_write_frame(formatContext, &amp;pkt);&#xA;&#xA;        cout &lt;&lt; "Seguro que si" &lt;&lt; endl;&#xA;    }&#xA;    frame_pts&#x2B;&#x2B;;&#xA;}&#xA;&#xA;avcodec_free_context(&amp;c);&#xA;av_frame_free(&amp;frame);&#xA;avformat_free_context(formatContext);&#xA;&#xA;return 0;&#xA;}&#xA;

    &#xA;&#xA;

    The code compiles but it returns Segmentation fault in the function av_interleaved_write_frame(). I've tried several implementations or several codecs (in this case I'm using libopenh264, but using mpeg2video returns the same segmentation fault). I tried also with av_write_frame() but it returns the same error.

    &#xA;&#xA;

    As I told before, I only want to grab frames from a webcam connected via USB, encode them to H264 and send the packets through UDP to another PC.

    &#xA;&#xA;

    My console log when I run the executable is.

    &#xA;&#xA;

    [100%] Built target display&#xA;[OpenH264] this = 0x0x244b4f0, Info:CWelsH264SVCEncoder::SetOption():ENCODER_OPTION_TRACE_CALLBACK callback = 0x7f0c302a87c0.&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:CWelsH264SVCEncoder::InitEncoder(), openh264 codec version = 5a5c4f1&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:iUsageType = 0,iPicWidth= 640;iPicHeight= 480;iTargetBitrate= 400000;iMaxBitrate= 400000;iRCMode= 0;iPaddingFlag= 0;iTemporalLayerNum= 1;iSpatialLayerNum= 1;fFrameRate= 25.000000f;uiIntraPeriod= 12;eSpsPpsIdStrategy = 0;bPrefixNalAddingCtrl = 0;bSimulcastAVC=0;bEnableDenoise= 0;bEnableBackgroundDetection= 1;bEnableSceneChangeDetect = 1;bEnableAdaptiveQuant= 1;bEnableFrameSkip= 0;bEnableLongTermReference= 0;iLtrMarkPeriod= 30, bIsLosslessLink=0;iComplexityMode = 0;iNumRefFrame = 1;iEntropyCodingModeFlag = 0;uiMaxNalSize = 0;iLTRRefNum = 0;iMultipleThreadIdc = 1;iLoopFilterDisableIdc = 0 (offset(alpha/beta): 0,0;iComplexityMode = 0,iMaxQp = 51;iMinQp = 0)&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:sSpatialLayers[0]: .iVideoWidth= 640; .iVideoHeight= 480; .fFrameRate= 25.000000f; .iSpatialBitrate= 400000; .iMaxSpatialBitrate= 400000; .sSliceArgument.uiSliceMode= 1; .sSliceArgument.iSliceNum= 0; .sSliceArgument.uiSliceSizeConstraint= 1500;uiProfileIdc = 66;uiLevelIdc = 41&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Warning:SliceArgumentValidationFixedSliceMode(), unsupported setting with Resolution and uiSliceNum combination under RC on! So uiSliceNum is changed to 6!&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:Setting MaxSpatialBitrate (400000) the same at SpatialBitrate (400000) will make the    actual bit rate lower than SpatialBitrate&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Warning:bEnableFrameSkip = 0,bitrate can&#x27;t be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Warning:Change QP Range from(0,51) to (12,42)&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:WELS CPU features/capacities (0x4007fe3f) detected:   HTT:      Y, MMX:      Y, MMXEX:    Y, SSE:      Y, SSE2:     Y, SSE3:     Y, SSSE3:    Y, SSE4.1:   Y, SSE4.2:   Y, AVX:      Y, FMA:      Y, X87-FPU:  Y, 3DNOW:    N, 3DNOWEX:  N, ALTIVEC:  N, CMOV:     Y, MOVBE:    Y, AES:      Y, NUMBER OF LOGIC PROCESSORS ON CHIP: 8, CPU CACHE LINE SIZE (BYTES):        64&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:WelsInitEncoderExt() exit, overall memory usage: 4542878 bytes&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Info:WelsInitEncoderExt(), pCtx= 0x0x245a400.&#xA;Output #0, h264, to &#x27;udp://192.168.100.39:8080&#x27;:&#xA;Stream #0:0, 0, 1/25: Video: h264 (libopenh264), 1 reference frame, yuv420p, 640x480 (0x0), 0/1, q=2-31, 400 kb/s, 25 tbn&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Debug:RcUpdateIntraComplexity iFrameDqBits = 385808,iQStep= 2016,iIntraCmplx = 777788928&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Debug:[Rc]Layer 0: Frame timestamp = 0, Frame type = 2, encoding_qp = 30, average qp = 30, max qp = 33, min qp = 27, index = 0, iTid = 0, used = 385808, bitsperframe = 16000, target = 64000, remainingbits = -257808, skipbuffersize = 200000&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Debug:WelsEncoderEncodeExt() OutputInfo iLayerNum = 2,iFrameSize = 48252&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Debug:WelsEncoderEncodeExt() OutputInfo iLayerId = 0,iNalType = 0,iNalCount = 2, first Nal Length=18,uiSpatialId = 0,uiTemporalId = 0,iSubSeqId = 0&#xA;[libopenh264 @ 0x244aa00] [OpenH264] this = 0x0x244b4f0, Debug:WelsEncoderEncodeExt() OutputInfo iLayerId = 1,iNalType = 1,iNalCount = 6, first Nal Length=6057,uiSpatialId = 0,uiTemporalId = 0,iSubSeqId = 0&#xA;[libopenh264 @ 0x244aa00] 6 slices&#xA;./scriptBuild.sh: line 20: 10625 Segmentation fault      (core dumped) ./display&#xA;

    &#xA;&#xA;

    As you can see, FFmpeg uses libopenh264 and configures it correctly. However, no matter what. It always returns the same Segmentation fault error...

    &#xA;&#xA;

    I've used commands like this.

    &#xA;&#xA;

    ffmpeg -s 640x480 -f video4linux2 -i /dev/video0 -r 30 -vcodec libopenh264 -an -f h264 udp://127.0.0.1:8080&#xA;

    &#xA;&#xA;

    And it works perfectly, but I need to process the frames before sending them. Thats why I'm trying to use the libs.

    &#xA;&#xA;

    My FFmpeg version is.

    &#xA;&#xA;

    ffmpeg version 3.3.6 Copyright (c) 2000-2017 the FFmpeg developers&#xA;built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)&#xA;configuration: --disable-yasm --enable-shared --enable-libopenh264 --cc=&#x27;gcc -fPIC&#x27;&#xA;libavutil      55. 58.100 / 55. 58.100&#xA;libavcodec     57. 89.100 / 57. 89.100&#xA;libavformat    57. 71.100 / 57. 71.100&#xA;libavdevice    57.  6.100 / 57.  6.100&#xA;libavfilter     6. 82.100 /  6. 82.100&#xA;libswscale      4.  6.100 /  4.  6.100&#xA;libswresample   2.  7.100 /  2.  7.100&#xA;

    &#xA;&#xA;

    I tried to get more information of the error using gbd, but it didn't give me debugging info.

    &#xA;&#xA;

    How can I solve this problem ? I don't know what else can I try...

    &#xA;&#xA;

    Thank you !

    &#xA;

  • ffmpeg version 2.6.8 : Stream specifier ':a' in filtergraph description matches no streams

    16 décembre 2020, par Ashitaka

    I am not getting why this isn't working.. I have tried to get the video streams with [0:v]/[0:1]/[0:v:0] & the audio streams with [0:a]/[0:0]/[0:0:0].&#xA;nothing worked.

    &#xA;

    Explaining the inputs :

    &#xA;

    1.1st input stream is a video that can be of varying resolution on which the filter adds a padding on to make it 600:480.

    &#xA;

    2.2nd input is an overlay png which is already at 5:4 ratio.. just making it 600:480 before it gets overlaid in the filter.

    &#xA;

    3.3rd & 4th ones are also videos which I don't care if they get stretched.. n they are getting stretched to 600:480.

    &#xA;

    4.so finally there are 3 streams 1 overlaid video 2 stretched videos which needs to be concatenated.

    &#xA;

    here's the command :

    &#xA;

    ffmpeg &#xA;-i &#x27;/home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612.mp4&#x27; &#xA;-i &#x27;/home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612_overlay.png&#x27; &#xA;-i &#x27;/home/vidinflux/public_html/assets/user/736/video/Lines1.mp4&#x27; &#xA;-i &#x27;/home/vidinflux/public_html/assets/user/736/video/Lines11.mp4&#x27; &#xA;-filter_complex&#xA;"[0:v]trim=0:138,setpts=PTS-STARTPTS[v0];[0:a]atrim=0:138,asetpts=PTS-STARTPTS[a0];[v0]scale=&#x27;gte(iw/ih\,600/480)*600&#x2B;lt(iw/ih\,600/480)*((480*iw)/ih):lte(iw/ih\,600/480)*480&#x2B;gt(iw/ih\,600/480)*((600*ih)/iw)&#x27;,pad=&#x27;600:480:(600-gte(iw/ih\,600/480)*600-lt(iw/ih\,600/480)*((480*iw)/ih))/2:(480-lte(iw/ih\,600/480)*480-gt(iw/ih\,600/480)*((600*ih)/iw))/2:black&#x27;[x];[1:v]scale=600:480[y];[x][y]overlay=0:0[z];[2:v]scale=600:480,setsar=1:1[x0];[3:v]scale=600:480,setsar=1:1[x1];[x0][2:a][z][a0][x1][3:a]concat=n=3:v=1:a=1[v][a]" &#xA;-map "[v]" &#xA;-map "[a]" &#xA;-c:v libx264 &#xA;-shortest /home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612_final.mp4&#xA;

    &#xA;

    this is the complete error I am getting :

    &#xA;

    Stream specifier &#x27;:a&#x27; in filtergraph description  [0:v]trim=0:138,setpts=PTS-STARTPTS[v0];[0:a]atrim=0:138,asetpts=PTS-STARTPTS[a0];[v0]scale=&#x27;gte(iw/ih\,600/480)*600&#x2B;lt(iw/ih\,600/480)*((480*iw)/ih):lte(iw/ih\,600/480)*480&#x2B;gt(iw/ih\,600/480)*((600*ih)/iw)&#x27;,pad=&#x27;600:480:(600-gte(iw/ih\,600/480)*600-lt(iw/ih\,600/480)*((480*iw)/ih))/2:(480-lte(iw/ih\,600/480)*480-gt(iw/ih\,600/480)*((600*ih)/iw))/2:black&#x27;[x];[1:v]scale=600:480[y];[x][y]overlay=0:0[z];[2:v]scale=600:480,setsar=1:1[x0];[3:v]scale=600:480,setsar=1:1[x1];[x0][2:a][z][a0][x1][3:a]concat=n=3:v=1:a=1[v][a] matches no streams.&#xA;

    &#xA;

    also there are these warnings :

    &#xA;

    [Parsed_setsar_9 @ 0x219fba0] num:den syntax is deprecated, please use num/den or named options instead&#xA;[Parsed_setsar_11 @ 0x21a4840] num:den syntax is deprecated, please use num/den or named options instead&#xA;

    &#xA;

    Complete log as requested :

    &#xA;

    [root@cloud ~]# ffmpeg -i &#x27;/home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612.mp4&#x27; -i &#x27;/home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612_overlay.png&#x27; -i &#x27;/home/vidinflux/public_html/assets/user/736/video/Lines1.mp4&#x27; -i &#x27;/home/vidinflux/public_html/assets/user/736/video/Lines11.mp4&#x27; -filter_complex \ "[0:v]trim=0:138,setpts=PTS-STARTPTS[v0];[0:a]atrim=0:138,asetpts=PTS-STARTPTS[a0];[v0]scale=&#x27;gte(iw/ih\,600/480)*600&#x2B;lt(iw/ih\,600/480)*((480*iw)/ih):lte(iw/ih\,600/480)*480&#x2B;gt(iw/ih\,600/480)*((600*ih)/iw)&#x27;,pad=&#x27;600:480:(600-gte(iw/ih\,600/480)*600-lt(iw/ih\,600/480)*((480*iw)/ih))/2:(480-lte(iw/ih\,600/480)*480-gt(iw/ih\,600/480)*((600*ih)/iw))/2:black&#x27;[x];[1:v]scale=600:480[y];[x][y]overlay=0:0[z];[2:v]scale=600:480,setsar=1:1[x0];[3:v]scale=600:480,setsar=1:1[x1];[x0][2:a][z][a0][x1][3:a]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" -c:v libx264 -shortest /home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612_final.mp4&#xA;ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers&#xA;  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)&#xA;  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags=&#x27;-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic&#x27; --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libdc1394 --enable-libfaac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect&#xA;  libavutil      54. 20.100 / 54. 20.100&#xA;  libavcodec     56. 26.100 / 56. 26.100&#xA;  libavformat    56. 25.101 / 56. 25.101&#xA;  libavdevice    56.  4.100 / 56.  4.100&#xA;  libavfilter     5. 11.102 /  5. 11.102&#xA;  libavresample   2.  1.  0 /  2.  1.  0&#xA;  libswscale      3.  1.101 /  3.  1.101&#xA;  libswresample   1.  1.100 /  1.  1.100&#xA;  libpostproc    53.  3.100 / 53.  3.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 0&#xA;    compatible_brands: isommp42&#xA;    creation_time   : 2017-08-21 02:23:24&#xA;  Duration: 00:02:17.23, start: 0.000000, bitrate: 417 kb/s&#xA;    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 640x360 [SAR 1:1 DAR 16:9], 318 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2017-08-21 02:23:24&#xA;      handler_name    : IsoMedia File Produced by Google, 5-11-2011&#xA;Input #1, png_pipe, from &#x27;/home/vidinflux/public_html/assets/temp/2018020116464612/2018020116464612_overlay.png&#x27;:&#xA;  Duration: N/A, bitrate: N/A&#xA;    Stream #1:0: Video: png, rgba, 600x479, 25 tbr, 25 tbn, 25 tbc&#xA;Input #2, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/home/vidinflux/public_html/assets/user/736/video/Lines1.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 1&#xA;    compatible_brands: mp41mp42isom&#xA;    creation_time   : 2018-01-31 22:40:09&#xA;  Duration: 00:00:04.90, start: 0.103811, bitrate: 846 kb/s&#xA;    Stream #2:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/bt709), 1920x1080, 827 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2018-01-31 22:40:10&#xA;      handler_name    : Core Media Video&#xA;Input #3, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;/home/vidinflux/public_html/assets/user/736/video/Lines11.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 1&#xA;    compatible_brands: mp41mp42isom&#xA;    creation_time   : 2018-01-31 22:40:09&#xA;  Duration: 00:00:04.90, start: 0.103811, bitrate: 846 kb/s&#xA;    Stream #3:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/bt709), 1920x1080, 827 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2018-01-31 22:40:10&#xA;      handler_name    : Core Media Video&#xA;[Parsed_setsar_9 @ 0x17c8ba0] num:den syntax is deprecated, please use num/den or named options instead&#xA;[Parsed_setsar_11 @ 0x17cd840] num:den syntax is deprecated, please use num/den or named options instead&#xA;Stream specifier &#x27;:a&#x27; in filtergraph description  [0:v]trim=0:138,setpts=PTS-STARTPTS[v0];[0:a]atrim=0:138,asetpts=PTS-STARTPTS[a0];[v0]scale=&#x27;gte(iw/ih\,600/480)*600&#x2B;lt(iw/ih\,600/480)*((480*iw)/ih):lte(iw/ih\,600/480)*480&#x2B;gt(iw/ih\,600/480)*((600*ih)/iw)&#x27;,pad=&#x27;600:480:(600-gte(iw/ih\,600/480)*600-lt(iw/ih\,600/480)*((480*iw)/ih))/2:(480-lte(iw/ih\,600/480)*480-gt(iw/ih\,600/480)*((600*ih)/iw))/2:black&#x27;[x];[1:v]scale=600:480[y];[x][y]overlay=0:0[z];[2:v]scale=600:480,setsar=1:1[x0];[3:v]scale=600:480,setsar=1:1[x1];[x0][2:a][z][a0][x1][3:a]concat=n=3:v=1:a=1[v][a] matches no streams.&#xA;

    &#xA;