Recherche avancée

Médias (91)

Autres articles (68)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (5803)

  • ffmpeg unbale to initialize threading [closed]

    16 octobre 2020, par Sudipta Roy

    I have a JAVA service running in wildfly which is calling an external ffmpeg binary to convert .au files to .wav files. The actual command that is being executed is as follows :

    


    ffmpeg -y -i INPUT.au OUTPUT.wav


    


    It is running smoothly, except every once in a while it is creating an empty .wav file becasue of the following error :

    


    Error: ffmpeg version c6710aa Copyright (c) 2000-2017 the FFmpeg 
developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
configuration: --prefix=/tmp/ffmpeg-static/target --pkg-config-flags=- 
-static --extra-cflags=-I/tmp/ffmpeg-static/target/include --extra- 
ldflags=-L/tmp/ffmpeg-static/target/lib --extra-ldexeflags=-static -- 
bindir=/tmp/ffmpeg-static/bin --enable-pic --enable-ffplay --enable- 
ffserver --enable-fontconfig --enable-frei0r --enable-gpl --enable- 
version3 --enable-libass --enable-libfribidi --enable-libfdk-aac -- 
enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb -- 
enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -- 
enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora - 
-enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis -- 
enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 -- 
enable-libxvid --enable-libzimg --enable-nonfree --enable-openssl
libavutil      55. 34.101 / 55. 34.101
libavcodec     57. 64.101 / 57. 64.101
libavformat    57. 56.101 / 57. 56.101
libavdevice    57.  1.100 / 57.  1.100
libavfilter     6. 65.100 /  6. 65.100
libswscale      4.  2.100 /  4.  2.100
libswresample   2.  3.100 /  2.  3.100
libpostproc    54.  1.100 / 54.  1.100

Input #0, ogg, from 'INPUT.au'
Duration: 00:00:34.08, start: 0.01500, bitrate: 15kb/s
Stream: #0.0: Audio: speex, 8000Hz, mono, s16, 15kb/s

[AVFilterGraph @ 0x43ec6e0] Error initializing threading.
[AVFilterGraph @ 0x43ec6e0] Error creating filter 'anull'


    


    If I try to manually convert the file from command line, it works. A brief internet search (this) shows that it might be due to the fact that ffmpeg is unable to create threads for internal use. Can anyone please elaborate ?

    


    The server where I am facing the problem have relatively high load. I have seen that wildfly is creating close to 1800 threads.

    


    Thanks

    


    P.s. I have managed to recreate the problem. Below is the code :

    


    SystemCommandExecutor.java

    


        import java.io.*;&#xA;    import java.util.List;&#xA;    public class SystemCommandExecutor {&#xA;        private List<string> commandInformation;&#xA;        private String adminPassword;&#xA;        private ThreadedStreamHandler inputStreamHandler;&#xA;        private ThreadedStreamHandler errorStreamHandler;&#xA;&#xA;        public SystemCommandExecutor(final List<string> commandInformation)&#xA;        {&#xA;        if (commandInformation==null) throw new NullPointerException("The commandInformation is required.");&#xA;        this.commandInformation = commandInformation;&#xA;        this.adminPassword = null;&#xA;        }&#xA;&#xA;    public int executeCommand()&#xA;            throws IOException, InterruptedException&#xA;    {&#xA;        int exitValue = -99;&#xA;&#xA;        try&#xA;        {&#xA;            ProcessBuilder pb = new ProcessBuilder(commandInformation);&#xA;            Process process = pb.start();&#xA;            OutputStream stdOutput = process.getOutputStream();&#xA;            InputStream inputStream = process.getInputStream();&#xA;            InputStream errorStream = process.getErrorStream();&#xA;            inputStreamHandler = new ThreadedStreamHandler(inputStream, stdOutput, adminPassword);&#xA;            errorStreamHandler = new ThreadedStreamHandler(errorStream);&#xA;            inputStreamHandler.start();&#xA;            errorStreamHandler.start();&#xA;            exitValue = process.waitFor();&#xA;            inputStreamHandler.interrupt();&#xA;            errorStreamHandler.interrupt();&#xA;            inputStreamHandler.join();&#xA;            errorStreamHandler.join();&#xA;        }&#xA;        catch (IOException e)&#xA;        {&#xA;            throw e;&#xA;        }&#xA;        catch (InterruptedException e)&#xA;        {&#xA;            throw e;&#xA;        }&#xA;        finally&#xA;        {&#xA;            return exitValue;&#xA;        }&#xA;    }&#xA;&#xA;    public StringBuilder getStandardOutputFromCommand()&#xA;    {&#xA;        return inputStreamHandler.getOutputBuffer();&#xA;    }&#xA;&#xA;    public StringBuilder getStandardErrorFromCommand()&#xA;    {&#xA;        return errorStreamHandler.getOutputBuffer();&#xA;    }&#xA;}&#xA;</string></string>

    &#xA;

    ThreadedStreamHandler.java

    &#xA;

    import java.io.*;&#xA;&#xA;class ThreadedStreamHandler extends Thread&#xA;{&#xA;    InputStream inputStream;&#xA;    String adminPassword;&#xA;    OutputStream outputStream;&#xA;    PrintWriter printWriter;&#xA;    StringBuilder outputBuffer = new StringBuilder();&#xA;    private boolean sudoIsRequested = false;&#xA;&#xA;    &#xA;    ThreadedStreamHandler(InputStream inputStream)&#xA;    {&#xA;        this.inputStream = inputStream;&#xA;    }&#xA;&#xA;    &#xA;    ThreadedStreamHandler(InputStream inputStream, OutputStream outputStream, String adminPassword)&#xA;    {&#xA;        this.inputStream = inputStream;&#xA;        this.outputStream = outputStream;&#xA;        this.printWriter = new PrintWriter(outputStream);&#xA;        this.adminPassword = adminPassword;&#xA;        this.sudoIsRequested = true;&#xA;    }&#xA;&#xA;    public void run()&#xA;    {&#xA;        &#xA;        if (sudoIsRequested)&#xA;        {&#xA;            printWriter.println(adminPassword);&#xA;            printWriter.flush();&#xA;        }&#xA;&#xA;        BufferedReader bufferedReader = null;&#xA;        try&#xA;        {&#xA;            bufferedReader = new BufferedReader(new InputStreamReader(inputStream));&#xA;            String line = null;&#xA;            while ((line = bufferedReader.readLine()) != null)&#xA;            {&#xA;                outputBuffer.append(line &#x2B; "\n");&#xA;            }&#xA;        }&#xA;        catch (IOException ioe)&#xA;        {&#xA;            ioe.printStackTrace();&#xA;        }&#xA;        catch (Throwable t)&#xA;        {&#xA;            t.printStackTrace();&#xA;        }&#xA;        finally&#xA;        {&#xA;            try&#xA;            {&#xA;                bufferedReader.close();&#xA;            }&#xA;            catch (IOException e)&#xA;            {&#xA;                // ignore this one&#xA;            }&#xA;        }&#xA;    }&#xA;&#xA;    private void doSleep(long millis)&#xA;    {&#xA;        try&#xA;        {&#xA;            Thread.sleep(millis);&#xA;        }&#xA;        catch (InterruptedException e)&#xA;        {&#xA;            // ignore&#xA;        }&#xA;    }&#xA;&#xA;    public StringBuilder getOutputBuffer()&#xA;    {&#xA;        return outputBuffer;&#xA;    }&#xA;&#xA;}&#xA;

    &#xA;

    FfmpegRunnable.java

    &#xA;

    import java.io.IOException;&#xA;import java.util.List;&#xA;&#xA;public class FfmpegRunnable implements Runnable {&#xA;    private List<string> command;&#xA;    SystemCommandExecutor executor;&#xA;&#xA;    public FfmpegRunnable(List<string> command) {&#xA;        this.command = command;&#xA;        this.executor = new SystemCommandExecutor(command);&#xA;    }&#xA;&#xA;    @Override&#xA;    public void run() {&#xA;        try {&#xA;            int id = (int) Thread.currentThread().getId();&#xA;            int result = executor.executeCommand();&#xA;            if(result != 0) {&#xA;                StringBuilder err = executor.getStandardErrorFromCommand();&#xA;                System.out.println("[" &#x2B; id &#x2B; "]" &#x2B; "[ERROR] " &#x2B; err);&#xA;            } else {&#xA;                System.out.println("[" &#x2B; id &#x2B; "]" &#x2B; "[SUCCESS]");&#xA;            }&#xA;        } catch (IOException e) {&#xA;            e.printStackTrace();&#xA;        } catch (InterruptedException e) {&#xA;            e.printStackTrace();&#xA;        }&#xA;    }&#xA;}&#xA;</string></string>

    &#xA;

    FfmpegMain.java

    &#xA;

    import java.util.ArrayList;&#xA;import java.util.List;&#xA;import java.util.concurrent.Executor;&#xA;import java.util.concurrent.Executors;&#xA;import java.util.concurrent.ThreadPoolExecutor;&#xA;public class FfmpegMain {&#xA;    public static void main(String[] args) {&#xA;        //boolean threading = false;&#xA;        System.out.println(args[0]);&#xA;        int nrThread = Integer.parseInt(args[0]);&#xA;        boolean threading = Boolean.parseBoolean(args[1]);&#xA;        System.out.println("nrThread : " &#x2B; nrThread &#x2B; ", threading : " &#x2B; threading);&#xA;        if(threading) {&#xA;            System.out.println("ffmpeg threading enabled");&#xA;        } else {&#xA;            System.out.println("ffmpeg threading not enabled");&#xA;        }&#xA;        ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(nrThread);&#xA;        for(int i=0; i cmd = new ArrayList<string>();&#xA;            String dest = "/tmp/OUTPUT/output_" &#x2B; (Math.random()*1000) &#x2B; ".wav";&#xA;            String cmdStr = "/tmp/FFMPEG/ffmpeg" &#x2B; (threading ? " -threads 1 " : " ")&#xA;                    &#x2B; "-y -i /tmp/input.au " &#x2B; dest;&#xA;            cmd.add("/bin/sh");&#xA;            cmd.add("-c");&#xA;            cmd.add(cmdStr);&#xA;&#xA;            executor.submit(new FfmpegRunnable(cmd));&#xA;        }&#xA;        executor.shutdown();&#xA;    }&#xA;}&#xA;</string>

    &#xA;

    I have created a jar with the class files and run the jar from two seperate terminal with the following command

    &#xA;

    java -jar JAR.jar 40 true&#xA;

    &#xA;

    Here 40 is the number of threads, simulating varous users accessing the system. Every once in a while I get above mentioned error.

    &#xA;

  • ffmpeg unbale to initialize threading in some cases

    16 octobre 2020, par Sudipta Roy

    I am posting this again since the earlier question I posted has been closed

    &#xA;

    I have a JAVA service running in wildfly which is calling an external ffmpeg binary to convert .au files to .wav files. The actual command that is being executed is as follows :

    &#xA;

    ffmpeg -y -i INPUT.au OUTPUT.wav&#xA;

    &#xA;

    It is running smoothly, except every once in a while it is creating an empty .wav file becasue of the following error :

    &#xA;

    Error: ffmpeg version c6710aa Copyright (c) 2000-2017 the FFmpeg &#xA;developers&#xA;built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609&#xA;configuration: --prefix=/tmp/ffmpeg-static/target --pkg-config-flags=- &#xA;-static --extra-cflags=-I/tmp/ffmpeg-static/target/include --extra- &#xA;ldflags=-L/tmp/ffmpeg-static/target/lib --extra-ldexeflags=-static -- &#xA;bindir=/tmp/ffmpeg-static/bin --enable-pic --enable-ffplay --enable- &#xA;ffserver --enable-fontconfig --enable-frei0r --enable-gpl --enable- &#xA;version3 --enable-libass --enable-libfribidi --enable-libfdk-aac -- &#xA;enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb -- &#xA;enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus -- &#xA;enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora - &#xA;-enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis -- &#xA;enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 -- &#xA;enable-libxvid --enable-libzimg --enable-nonfree --enable-openssl&#xA;libavutil      55. 34.101 / 55. 34.101&#xA;libavcodec     57. 64.101 / 57. 64.101&#xA;libavformat    57. 56.101 / 57. 56.101&#xA;libavdevice    57.  1.100 / 57.  1.100&#xA;libavfilter     6. 65.100 /  6. 65.100&#xA;libswscale      4.  2.100 /  4.  2.100&#xA;libswresample   2.  3.100 /  2.  3.100&#xA;libpostproc    54.  1.100 / 54.  1.100&#xA;&#xA;Input #0, ogg, from &#x27;INPUT.au&#x27;&#xA;Duration: 00:00:34.08, start: 0.01500, bitrate: 15kb/s&#xA;Stream: #0.0: Audio: speex, 8000Hz, mono, s16, 15kb/s&#xA;&#xA;[AVFilterGraph @ 0x43ec6e0] Error initializing threading.&#xA;[AVFilterGraph @ 0x43ec6e0] Error creating filter &#x27;anull&#x27;&#xA;

    &#xA;

    If I try to manually convert the file from command line, it works. A brief internet search (this) shows that it might be due to the fact that ffmpeg is unable to create threads for internal use. Can anyone please elaborate ?

    &#xA;

    The server where I am facing the problem have relatively high load. I have seen that wildfly is creating close to 1800 threads.

    &#xA;

    Thanks

    &#xA;

    P.s. I have managed to recreate the problem. Below is the code :

    &#xA;

    SystemCommandExecutor.java

    &#xA;

        import java.io.*;&#xA;    import java.util.List;&#xA;    public class SystemCommandExecutor {&#xA;        private List<string> commandInformation;&#xA;        private String adminPassword;&#xA;        private ThreadedStreamHandler inputStreamHandler;&#xA;        private ThreadedStreamHandler errorStreamHandler;&#xA;&#xA;        public SystemCommandExecutor(final List<string> commandInformation)&#xA;        {&#xA;        if (commandInformation==null) throw new NullPointerException("The commandInformation is required.");&#xA;        this.commandInformation = commandInformation;&#xA;        this.adminPassword = null;&#xA;        }&#xA;&#xA;    public int executeCommand()&#xA;            throws IOException, InterruptedException&#xA;    {&#xA;        int exitValue = -99;&#xA;&#xA;        try&#xA;        {&#xA;            ProcessBuilder pb = new ProcessBuilder(commandInformation);&#xA;            Process process = pb.start();&#xA;            OutputStream stdOutput = process.getOutputStream();&#xA;            InputStream inputStream = process.getInputStream();&#xA;            InputStream errorStream = process.getErrorStream();&#xA;            inputStreamHandler = new ThreadedStreamHandler(inputStream, stdOutput, adminPassword);&#xA;            errorStreamHandler = new ThreadedStreamHandler(errorStream);&#xA;            inputStreamHandler.start();&#xA;            errorStreamHandler.start();&#xA;            exitValue = process.waitFor();&#xA;            inputStreamHandler.interrupt();&#xA;            errorStreamHandler.interrupt();&#xA;            inputStreamHandler.join();&#xA;            errorStreamHandler.join();&#xA;        }&#xA;        catch (IOException e)&#xA;        {&#xA;            throw e;&#xA;        }&#xA;        catch (InterruptedException e)&#xA;        {&#xA;            throw e;&#xA;        }&#xA;        finally&#xA;        {&#xA;            return exitValue;&#xA;        }&#xA;    }&#xA;&#xA;    public StringBuilder getStandardOutputFromCommand()&#xA;    {&#xA;        return inputStreamHandler.getOutputBuffer();&#xA;    }&#xA;&#xA;    public StringBuilder getStandardErrorFromCommand()&#xA;    {&#xA;        return errorStreamHandler.getOutputBuffer();&#xA;    }&#xA;}&#xA;</string></string>

    &#xA;

    ThreadedStreamHandler.java

    &#xA;

    import java.io.*;&#xA;&#xA;class ThreadedStreamHandler extends Thread&#xA;{&#xA;    InputStream inputStream;&#xA;    String adminPassword;&#xA;    OutputStream outputStream;&#xA;    PrintWriter printWriter;&#xA;    StringBuilder outputBuffer = new StringBuilder();&#xA;    private boolean sudoIsRequested = false;&#xA;&#xA;    &#xA;    ThreadedStreamHandler(InputStream inputStream)&#xA;    {&#xA;        this.inputStream = inputStream;&#xA;    }&#xA;&#xA;    &#xA;    ThreadedStreamHandler(InputStream inputStream, OutputStream outputStream, String adminPassword)&#xA;    {&#xA;        this.inputStream = inputStream;&#xA;        this.outputStream = outputStream;&#xA;        this.printWriter = new PrintWriter(outputStream);&#xA;        this.adminPassword = adminPassword;&#xA;        this.sudoIsRequested = true;&#xA;    }&#xA;&#xA;    public void run()&#xA;    {&#xA;        &#xA;        if (sudoIsRequested)&#xA;        {&#xA;            printWriter.println(adminPassword);&#xA;            printWriter.flush();&#xA;        }&#xA;&#xA;        BufferedReader bufferedReader = null;&#xA;        try&#xA;        {&#xA;            bufferedReader = new BufferedReader(new InputStreamReader(inputStream));&#xA;            String line = null;&#xA;            while ((line = bufferedReader.readLine()) != null)&#xA;            {&#xA;                outputBuffer.append(line &#x2B; "\n");&#xA;            }&#xA;        }&#xA;        catch (IOException ioe)&#xA;        {&#xA;            ioe.printStackTrace();&#xA;        }&#xA;        catch (Throwable t)&#xA;        {&#xA;            t.printStackTrace();&#xA;        }&#xA;        finally&#xA;        {&#xA;            try&#xA;            {&#xA;                bufferedReader.close();&#xA;            }&#xA;            catch (IOException e)&#xA;            {&#xA;                // ignore this one&#xA;            }&#xA;        }&#xA;    }&#xA;&#xA;    private void doSleep(long millis)&#xA;    {&#xA;        try&#xA;        {&#xA;            Thread.sleep(millis);&#xA;        }&#xA;        catch (InterruptedException e)&#xA;        {&#xA;            // ignore&#xA;        }&#xA;    }&#xA;&#xA;    public StringBuilder getOutputBuffer()&#xA;    {&#xA;        return outputBuffer;&#xA;    }&#xA;&#xA;}&#xA;

    &#xA;

    FfmpegRunnable.java

    &#xA;

    import java.io.IOException;&#xA;import java.util.List;&#xA;&#xA;public class FfmpegRunnable implements Runnable {&#xA;    private List<string> command;&#xA;    SystemCommandExecutor executor;&#xA;&#xA;    public FfmpegRunnable(List<string> command) {&#xA;        this.command = command;&#xA;        this.executor = new SystemCommandExecutor(command);&#xA;    }&#xA;&#xA;    @Override&#xA;    public void run() {&#xA;        try {&#xA;            int id = (int) Thread.currentThread().getId();&#xA;            int result = executor.executeCommand();&#xA;            if(result != 0) {&#xA;                StringBuilder err = executor.getStandardErrorFromCommand();&#xA;                System.out.println("[" &#x2B; id &#x2B; "]" &#x2B; "[ERROR] " &#x2B; err);&#xA;            } else {&#xA;                System.out.println("[" &#x2B; id &#x2B; "]" &#x2B; "[SUCCESS]");&#xA;            }&#xA;        } catch (IOException e) {&#xA;            e.printStackTrace();&#xA;        } catch (InterruptedException e) {&#xA;            e.printStackTrace();&#xA;        }&#xA;    }&#xA;}&#xA;</string></string>

    &#xA;

    FfmpegMain.java

    &#xA;

    import java.util.ArrayList;&#xA;import java.util.List;&#xA;import java.util.concurrent.Executor;&#xA;import java.util.concurrent.Executors;&#xA;import java.util.concurrent.ThreadPoolExecutor;&#xA;public class FfmpegMain {&#xA;    public static void main(String[] args) {&#xA;        //boolean threading = false;&#xA;        System.out.println(args[0]);&#xA;        int nrThread = Integer.parseInt(args[0]);&#xA;        boolean threading = Boolean.parseBoolean(args[1]);&#xA;        System.out.println("nrThread : " &#x2B; nrThread &#x2B; ", threading : " &#x2B; threading);&#xA;        if(threading) {&#xA;            System.out.println("ffmpeg threading enabled");&#xA;        } else {&#xA;            System.out.println("ffmpeg threading not enabled");&#xA;        }&#xA;        ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(nrThread);&#xA;        for(int i=0; i cmd = new ArrayList<string>();&#xA;            String dest = "/tmp/OUTPUT/output_" &#x2B; (Math.random()*1000) &#x2B; ".wav";&#xA;            String cmdStr = "/tmp/FFMPEG/ffmpeg" &#x2B; (threading ? " -threads 1 " : " ")&#xA;                    &#x2B; "-y -i /tmp/input.au " &#x2B; dest;&#xA;            cmd.add("/bin/sh");&#xA;            cmd.add("-c");&#xA;            cmd.add(cmdStr);&#xA;&#xA;            executor.submit(new FfmpegRunnable(cmd));&#xA;        }&#xA;        executor.shutdown();&#xA;    }&#xA;}&#xA;</string>

    &#xA;

    I have created a jar with the class files and run the jar from two seperate terminal with the following command

    &#xA;

    java -jar JAR.jar 40 true&#xA;

    &#xA;

    Here 40 is the number of threads, simulating varous users accessing the system. Every once in a while I get above mentioned error.

    &#xA;

  • 'pjsip-apps/Samples' Cannot functionally run vid_streamutil.c sample

    2 décembre 2020, par ShootingKIng

    Issue Description&#xA;After building[Build Varient=Debug, Build Config=x64] the latest pjproject-vs14 (retargeted to MSVS 2017, WINSDK=8.1, because my application works at these config) as per the build instruction on trac website. Successfully built pjsua and samples.

    &#xA;

    I want to use only RTP + FFMPEG APIs (pjmedia) for my application from pjproject.

    &#xA;

    My config_site.h

    &#xA;

    #define PJMEDIA_HAS_VIDEO           1&#xA;#define PJMEDIA_HAS_FFMPEG          1&#xA;

    &#xA;

    FFMPEG (pre build from ffmpeg-N-100121-g052b4c3481-win64-gpl-shared.zip)

    &#xA;

    But running the example, vid_streamutil.c did not work as expected (? Whats the normal expected behaviour ?).&#xA;It says

    &#xA;

    ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;

    &#xA;

    To Reproduce&#xA;Steps to reproduce the behavior :

    &#xA;

      &#xA;
    1. run vid_streamutil.exe with parameter : --codec=H264 --remote=127.0.0.1:5000 --play-file=test.avi --send-only&#xA;(test.avi file being a sample file)
    2. &#xA;

    &#xA;

    Expected behavior&#xA;Get some RTP packets in wireshark while listening to ports 4000 and 5000 maybe ? I dont know whats the expected behaviour, documentation dosent say anything about this :(

    &#xA;

    Logs/Screenshots&#xA;Couldn't catch anything on Wireshark.&#xA;Console log of vid_streamutil.exe is

    &#xA;

    vid_streamutil.exe --codec=H264 --remote=127.0.0.1:5000 --send-only --play-file=test.avi&#xA;10:25:24.757 os_core_win32. !pjlib 2.10 for win32 initialized&#xA; &#xA;10:25:24.840     wmme_dev.c  WMME found 12 devices:&#xA;10:25:24.858     wmme_dev.c   dev_id 0: Wave mapper  (in=2, out=2)&#xA;10:25:24.860     wmme_dev.c   dev_id 1: Headset Microphone (Arctis 7 Ch  (in=2, out=0)&#xA;10:25:24.860     wmme_dev.c   dev_id 2: Microphone (AMM Virtual Audio D  (in=2, out=0)&#xA;10:25:24.861     wmme_dev.c   dev_id 3: CABLE Output (VB-Audio Virtual   (in=2, out=0)&#xA;10:25:24.864     wmme_dev.c   dev_id 4: VoiceMeeter Output (VB-Audio Vo  (in=2, out=0)&#xA;10:25:24.864     wmme_dev.c   dev_id 5: Microphone (Realtek Audio)  (in=2, out=0)&#xA;10:25:24.865     wmme_dev.c   dev_id 6: Headphones (Arctis 7 Game)  (in=0, out=2)&#xA;10:25:24.866     wmme_dev.c   dev_id 7: Speakers / Headphones (Realtek   (in=0, out=2)&#xA;10:25:24.867     wmme_dev.c   dev_id 8: VoiceMeeter Input (VB-Audio Voi  (in=0, out=2)&#xA;10:25:24.884     wmme_dev.c   dev_id 9: Headset Earphone (Arctis 7 Chat  (in=0, out=2)&#xA;10:25:24.885     wmme_dev.c   dev_id 10: Speakers (AMM Virtual Audio Dev  (in=0, out=2)&#xA;10:25:24.887     wmme_dev.c   dev_id 11: Speakers (VB-Audio Virtual Cabl  (in=0, out=2)&#xA;10:25:24.887     wmme_dev.c  WMME initialized&#xA;10:25:24.890          pjlib  select() I/O Queue created (0000016B2C5F9608)&#xA;10:25:24.892 colorbar_dev.c  Colorbar video src initialized with 2 device(s):&#xA;10:25:24.915 colorbar_dev.c   0: Colorbar generator&#xA;10:25:24.935 colorbar_dev.c   1: Colorbar-active&#xA;10:25:24.956   avi_player.c  The AVI file has 2 streams.&#xA;10:25:24.976   avi_player.c  AVI file player &#x27;test.avi&#x27; created with 2 media ports&#xA;10:25:24.994 vid_streamutil  Reading video stream 1280x720 H264 @30.00fps&#xA;10:25:25.033          rtp.c  pjmedia_rtp_session_init: ses=0000016B2C6793C8, default_pt=97, ssrc=0x294823&#xA;10:25:25.053 vstdec0000016B  Decoding channel created 720x480 I420&lt;-H264 22/1(~22)fps&#xA;10:25:25.054          rtp.c  pjmedia_rtp_session_init: ses=0000016B2C62DF1C, default_pt=97, ssrc=0x294823&#xA;10:25:25.057 vstenc0000016B  Encoding channel created 1280x720 I420->H264 30/1(~30)fps&#xA;10:25:25.060 udp0000016B2C6  SO_RCVBUF set to 65536&#xA;10:25:25.061 udp0000016B2C6  SO_SNDBUF set to 65536&#xA;10:25:25.062   vid_stream.c  Video stream vstrm0000016B2C678508 created&#xA;10:25:25.086 vstenc0000016B  Encoder stream started&#xA;10:25:25.104 vstdec0000016B  Decoder stream paused&#xA; [VID_STEAMUTIL] Stream is active, dir is send-only, sending to 127.0.0.1:5000&#xA;10:25:25.114 vid_streamutil  Sending 1280x720 H264 @30.00fps&#xA;&#xA;Commands:&#xA;  q     Quit&#xA;&#xA;Command: 10:25:25.147 ffmpeg_vid_cod !ffmpeg err -22: Invalid argument&#xA;10:25:25.222 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.237 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.250 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.251 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.287 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.311 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.316 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.341 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.353 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.369 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.386 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.387 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.411 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.415 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.452 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.469 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.486 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.496 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.506 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.527 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.547 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.568 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.576 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.604 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.606 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.627 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.648 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.668 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.686 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.711 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.731 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.752 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.769 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.778 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.804 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.827 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.833 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.868 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.886 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.895 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.921 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.923 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.943 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:25.963 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:25.983 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.003 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.019 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.038 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.041 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.060 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.081 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.086 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.109 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.130 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.138 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.162 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.183 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.202 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.220 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.228 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.260 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.281 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.312 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.321 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.321 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.322 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.323 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.323 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.324 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.324 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.333 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.353 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.353 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.381 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.401 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.414 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.429 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.449 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.469 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.480 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.510 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.531 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.553 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.571 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.594 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.615 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.636 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.653 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.671 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.678 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.714 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.736 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.754 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.777 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.781 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;10:25:26.816 ffmpeg_vid_cod  ffmpeg err -22: Invalid argument&#xA;10:25:26.836 vstenc0000016B  Codec encode_begin() error: Codec internal creation error (PJMEDIA_CODEC_EFAILED)&#xA;EOF while reading stdin, will quit now..&#xA;&#xA;Commands:&#xA;  q     Quit&#xA;&#xA;^C&#xA;

    &#xA;

    Desktop information :

    &#xA;

      &#xA;
    • OS, Distribution & Version : MS Windows 10 Home, 1909
    • &#xA;

    • PJSIP&#xA;
        &#xA;
      • version : 2.10
      • &#xA;

      • applied patch(es) : Nothing Extra
      • &#xA;

      • configure script params : Default
      • &#xA;

      • config_site.h contents : Aforementioned
      • &#xA;

      • related third party libraries & versions :&#xA;FFMPEG 4.3
      • &#xA;

      &#xA;

    • &#xA;

    &#xA;

    #define LIBAVCODEC_VERSION_MAJOR  58&#xA;#define LIBAVCODEC_VERSION_MINOR  91&#xA;#define LIBAVCODEC_VERSION_MICRO 100&#xA;

    &#xA;

    Additional context&#xA;I didnt change the default program that must except adding some printf's when program goes to exit label, without this it will be very difficult to know which part of the program jumped to exit : label. Anyways, here is the full code,

    &#xA;

    vid_streamutil.c (with printfs)

    &#xA;

    Any help is appreciated ^^'&#xA;Thanks.

    &#xA;