Recherche avancée

Médias (0)

Mot : - Tags -/auteurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (73)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

Sur d’autres sites (7847)

  • Reading mp3 file using ffmpeg caues memory leaks, even after freeing it in main

    12 août 2020, par leonardltk1

    i am continuously reading mp3 files and processing them, but the memory keeps getting build up even though i freed it.

    


    At the bottom read_audio_mp3(), they are already freeing some variable.
why do i still face a memory build up and how do i deal with it ?

    


    following this code : https://rodic.fr/blog/libavcodec-tutorial-decode-audio-file/, i read mp3 using this function

    


        int read_audio_mp3(string filePath_str, const int sample_rate, 
      double** output_buffer, int &AUDIO_DURATION){
      const char* path = filePath_str.c_str();

      /* Reads the file header and stores information about the file format. */
        AVFormatContext* format = avformat_alloc_context();
        if (avformat_open_input(&format, path, NULL, NULL) != 0) {
            fprintf(stderr, "Could not open file '%s'\n", path);
            return -1;
        }

      /* Check out the stream information in the file. */
        if (avformat_find_stream_info(format, NULL) < 0) {
            fprintf(stderr, "Could not retrieve stream info from file '%s'\n", path);
            return -1;
        }

      /* find an audio stream. */
        int stream_index =- 1;
        for (unsigned i=0; inb_streams; i++) {
          if (format->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
            stream_index = i;
            break;
          }
        }
        if (stream_index == -1) {
            fprintf(stderr, "Could not retrieve audio stream from file '%s'\n", path);
            return -1;
        }
        AVStream* stream = format->streams[stream_index];

      // find & open codec
        AVCodecContext* codec = stream->codec;
        if (avcodec_open2(codec, avcodec_find_decoder(codec->codec_id), NULL) < 0) {
            fprintf(stderr, "Failed to open decoder for stream #%u in file '%s'\n", stream_index, path);
            return -1;
        }

      // prepare resampler
        struct SwrContext* swr = swr_alloc();
        av_opt_set_int(swr, "in_channel_count",  codec->channels, 0);
        av_opt_set_int(swr, "out_channel_count", 1, 0);
        av_opt_set_int(swr, "in_channel_layout",  codec->channel_layout, 0);
        av_opt_set_int(swr, "out_channel_layout", AV_CH_LAYOUT_MONO, 0);
        av_opt_set_int(swr, "in_sample_rate", codec->sample_rate, 0);
        av_opt_set_int(swr, "out_sample_rate", sample_rate, 0);
        av_opt_set_sample_fmt(swr, "in_sample_fmt",  codec->sample_fmt, 0);
        av_opt_set_sample_fmt(swr, "out_sample_fmt", AV_SAMPLE_FMT_DBL,  0);
        swr_init(swr);
        if (!swr_is_initialized(swr)) {
            fprintf(stderr, "Resampler has not been properly initialized\n");
            return -1;
        }

      /* Allocate an audio frame. */
        AVPacket packet;
        av_init_packet(&packet);
        AVFrame* frame = av_frame_alloc();
        if (!frame) {
          fprintf(stderr, "Error allocating the frame\n");
          return -1;
        }

      // iterate through frames
        *output_buffer = NULL;
        AUDIO_DURATION = 0;
        while (av_read_frame(format, &packet) >= 0) {
          // decode one frame
            int gotFrame;
            if (avcodec_decode_audio4(codec, frame, &gotFrame, &packet) < 0) {
              // free packet
                av_free_packet(&packet);
                break;
            }
            if (!gotFrame) {
              // free packet
                av_free_packet(&packet);
                continue;
            }
          // resample frames
            double* buffer;
            av_samples_alloc((uint8_t**) &buffer, NULL, 1, frame->nb_samples, AV_SAMPLE_FMT_DBL, 0);
            int frame_count = swr_convert(swr, (uint8_t**) &buffer, frame->nb_samples, (const uint8_t**) frame->data, frame->nb_samples);
          // append resampled frames to output_buffer
            *output_buffer = (double*) realloc(*output_buffer,
             (AUDIO_DURATION + frame->nb_samples) * sizeof(double));
            memcpy(*output_buffer + AUDIO_DURATION, buffer, frame_count * sizeof(double));
            AUDIO_DURATION += frame_count;
          // free buffer & packet
            av_free_packet(&packet);
            av_free( buffer );
        }

      // clean up
        av_frame_free(&frame);
        swr_free(&swr);
        avcodec_close(codec);
        avformat_free_context(format);

      return 0;
    }


    


    Main Script : MemoryLeak.cpp

    


        // imports&#xA;      #include <fstream>&#xA;      #include &#xA;      #include &#xA;      #include &#xA;      #include &#xA;      #include <iostream>&#xA;      #include <sstream>&#xA;      #include <vector>&#xA;      #include <sys></sys>time.h> &#xA;      extern "C"&#xA;      {&#xA;      #include <libavutil></libavutil>opt.h>&#xA;      #include <libavcodec></libavcodec>avcodec.h>&#xA;      #include <libavformat></libavformat>avformat.h>&#xA;      #include <libswresample></libswresample>swresample.h>&#xA;      }&#xA;      using namespace std;&#xA;&#xA;    int main (int argc, char ** argv) {&#xA;      string wavpath = argv[1];&#xA;      printf("wavpath=%s\n", wavpath.c_str());&#xA;&#xA;      printf("\n==== Params =====\n");&#xA;      // Init&#xA;        int AUDIO_DURATION;&#xA;        int sample_rate = 8000;&#xA;        av_register_all();&#xA;&#xA;      printf("\n==== Reading MP3 =====\n");&#xA;        while (true) {&#xA;            // Read mp3&#xA;              double* buffer;&#xA;              if (read_audio_mp3(wavpath, sample_rate, &amp;buffer, AUDIO_DURATION) != 0) {&#xA;                printf("Cannot read %s\n", wavpath.c_str());&#xA;                continue;&#xA;              }&#xA;&#xA;            /* &#xA;              Process the buffer for down stream tasks.&#xA;            */&#xA;&#xA;            // Freeing the buffer&#xA;            free(buffer);&#xA;        }&#xA;&#xA;      return 0 ;&#xA;    }&#xA;</vector></sstream></iostream></fstream>

    &#xA;

    Compiling

    &#xA;

        g&#x2B;&#x2B; -o ./MemoryLeak.out -Ofast -Wall -Wextra \&#xA;        -std=c&#x2B;&#x2B;11 "./MemoryLeak.cpp" \&#xA;        -lavformat -lavcodec -lavutil -lswresample&#xA;

    &#xA;

    Running, by right my input an argument wav.scp that reads text file of all the mp3s.&#xA;But for easy to replicate purpose, i only read 1 file song.mp3 in and i keep re-reading it

    &#xA;

    ./MemoryLeak.out song.mp3&#xA;

    &#xA;

    Why do i know i have memory leaks ?

    &#xA;

      &#xA;
    1. I was running up 32 jobs in parallel for 14 million files, and when i wake up in the morning, they were abruptly killed.
    2. &#xA;

    3. I run htop and i monitor the progress when i re-run it, and i saw that the VIRT & RES & Mem are continuously increasing.
    4. &#xA;

    &#xA;

    &#xA;

    Edit 1 :&#xA;My setup :

    &#xA;

    &#xA;

    ffmpeg version 2.8.15-0ubuntu0.16.04.1&#xA;built with gcc 5.4.0&#xA;

    &#xA;

  • How to track single-page websites and web applications using Piwik Analytics

    21 février 2017, par InnoCraft — Community, Development

    Single-page websites and web applications have become a standard over the last years. Getting the tracking of such websites and apps right is crucial to your success as you need to ensure the measured data is meaningful and correct. That’s why we, at InnoCraft, help our clients setting up their web tracking and measurement strategy. Some challenges our clients face are the tracking of single-page websites and web applications. We will cover this challenge in this post with a complete example at the bottom.

    Embedding the Tracking Code

    First you need to embed your JavaScript tracking code into your single-page website or web application as usual. To do this go to “Administration” in the top right in your Piwik, click on “Tracking Code” and adjust the tracking code to your needs.

    Tracking a New Page View

    The challenge begins when you need to track a new page view. A single-page app is different from a usual website as there is no regular new page load and Piwik cannot detect automatically when a new page is viewed. This means you need to let Piwik know whenever the URL and the page title changes. You can do this using the methods setCustomUrl and setDocumentTitle like this :

    window.addEventListener('hashchange', function() {
           _paq.push(['setCustomUrl', '/' + window.location.hash.substr(1)']);
           _paq.push(['setDocumentTitle', 'My New Title']);
           _paq.push(['trackPageView']);
    }

    Resetting previously set custom variables

    If you have set any Custom Variables in scope “page”, you need to make sure to delete these custom variables again as they would be attributed to the new page view as well otherwise. The following code requires Piwik 3.0.2 :

    _paq.push(['deleteCustomVariables', 'page']);      
    _paq.push(['trackPageView']);

    Updating the generation time

    Next you need to update the generation time before tracking a new page view. Otherwise, the initial page generation time will be attributed to all of your subsequent pageviews.

    If you don’t load new content from the server when the page changes, simply set the value to zero :

    _paq.push(['setGenerationTimeMs', 0]);
    _paq.push(['trackPageView']);

    In case you load new content from the server, we recommend to measure the time it took to load this content (in milliseconds) and set the needed time :

    _paq.push(['setGenerationTimeMs', timeItTookToLoadPage]);
    _paq.push(['trackPageView']);

    Updating the referrer

    Depending on whether you want to track the previous page as a referrer for the new page view, you should update the referrer URL by setting it to the previous page URL :

    _paq.push(['setReferrerUrl', previousPageUrl]);
    _paq.push(['trackPageView']);

    Making Piwik Aware of New Content

    When you show a new page, your single-page DOM might change as well. For example, you might replace parts of your page with new content that you loaded from your server via Ajax. This means you need to instruct Piwik to scan the DOM for new content. We’ll now go over various content types (Videos & Audio, Forms, Links and Downloads, Content tracking).

    Video and Audio tracking

    If you use the Media Analytics feature to track your videos and audios, whenever a new page is displayed you need to call the following method :

    _paq.push(['MediaAnalytics::scanForMedia', documentOrElement]);

    When you don’t pass any parameter, it will scan the entire DOM for new media. Alternatively, you can pass an element to scan only a certain area of your website or app for new media.

    Form tracking

    If you use the Form Analytics feature to measure the performance of your online forms, whenever a new page is displayed you need to call the following method :

    _paq.push(['FormAnalytics::scanForForms', docuemntOrElement]);

    Where documentOrElement points either to document to re-scan the entire DOM (the default when no parameter is set) or you can pass an element to restrict the re-scan to a specific area.

    Link tracking

    Supposing that you use the link tracking feature to measure outlinks and downloads, Piwik needs to re-scan the entire DOM for newly added links whenever your DOM changes. To make sure Piwik will track such links, call this method :

    _paq.push(['enableLinkTracking']);

    Content tracking

    If you use the Content Tracking feature, whenever a new page is displayed and some parts of your DOM changes, you need to call this method :

    _paq.push(['trackContentImpressionsWithinNode', documentOrElement]);

    Where documentOrElement points either to document or an element similar to the other methods. Piwik will then scan the page for newly added content blocks.

    Measuring Single-Page Apps : Complete Example

    In this example we show how everything works together assuming you want to track a new page whenever a hash changes :

    var currentUrl = location.href;
    window.addEventListener('hashchange', function() {
       _paq.push(['setReferrerUrl', currentUrl]);
        currentUrl = '' + window.location.hash.substr(1);
       _paq.push(['setCustomUrl', currentUrl]);
       _paq.push(['setDocumentTitle', 'My New Title']);

       // remove all previously assigned custom variables, requires Piwik 3.0.2
       _paq.push(['deleteCustomVariables', 'page']);
       _paq.push(['setGenerationTimeMs', 0]);
       _paq.push(['trackPageView']);
       
       // make Piwik aware of newly added content
       var content = document.getElementById('content');
       _paq.push(['MediaAnalytics::scanForMedia', content]);
       _paq.push(['FormAnalytics::scanForForms', content]);
       _paq.push(['trackContentImpressionsWithinNode', content]);
       _paq.push(['enableLinkTracking']);
    });

    Questions ?

    If you have any questions or need help, please get in touch with us. You can find more information about the Piwik JavaScript tracker on the Piwik Developer Zone.

  • How can I capture simple video input with audio from a capture device

    17 décembre 2020, par Geoff Sweet

    I'm using ffmpeg on Arch linux and trying to convert some old video to digital. The setup is pretty straightforward and if I connect to the capture device with VLC I get the video and audio just fine. So now I want to capture that with ffmpeg and write it to a file so I can edit it and clean it up. I'm only so-so familiar with ffmpeg and I've been digging through the man pages and here is where I am at.

    &#xA;

    This command captures perfect audio, but no video :

    &#xA;

    ffmpeg -f alsa -ac 2 -i front:CARD=Capture,DEV=0 out.mpeg&#xA;

    &#xA;

    This command captures perfect video ;

    &#xA;

    ffmpeg -f video4linux2 -i /dev/video0 out.mpeg&#xA;

    &#xA;

    captures the video signal great, but with no audio. So combining them together should give me :

    &#xA;

    ffmpeg -y -f alsa -ac 2 -i front:CARD=Capture,DEV=0 -f video4linux2 -i /dev/video0 out.mpeg&#xA;

    &#xA;

    But that command kinda falls on it's face. I get the audio, but no video :

    &#xA;

    ffmpeg -y -f alsa -ac 2 -i front:CARD=Capture,DEV=0 -f video4linux2 -i /dev/video0 out.mpeg&#xA;ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 10.2.0 (GCC)&#xA;  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-shared --enable-version3&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;  libpostproc    55.  7.100 / 55.  7.100&#xA;Guessed Channel Layout for Input Stream #0.0 : stereo&#xA;Input #0, alsa, from &#x27;front:CARD=Capture,DEV=0&#x27;:&#xA;  Duration: N/A, start: 1608093176.894565, bitrate: 1536 kb/s&#xA;    Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s&#xA;[video4linux2,v4l2 @ 0x56248fe0ab80] Dequeued v4l2 buffer contains corrupted data (0 bytes).&#xA;Input #1, video4linux2,v4l2, from &#x27;/dev/video0&#x27;:&#xA;  Duration: N/A, start: 0.000000, bitrate: 995328 kb/s&#xA;    Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 995328 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc&#xA;Stream mapping:&#xA;  Stream #1:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))&#xA;  Stream #0:0 -> #0:1 (pcm_s16le (native) -> mp2 (native))&#xA;Press [q] to stop, [?] for help&#xA;[video4linux2,v4l2 @ 0x56248fe0ab80] Dequeued v4l2 buffer contains corrupted data (0 bytes).&#xA;    Last message repeated 30 times&#xA;[alsa @ 0x56248fdb3840] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)&#xA;[mpeg @ 0x56248fe0dfc0] VBV buffer size not set, using default size of 230KB&#xA;If you want the mpeg file to be compliant to some specification&#xA;Like DVD, VCD or others, make sure you set the correct buffer size&#xA;Output #0, mpeg, to &#x27;out.mpeg&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf58.45.100&#xA;    Stream #0:0: Video: mpeg1video, yuv420p(progressive), 1920x1080, q=2-31, 200 kb/s, 30 fps, 90k tbn, 30 tbc&#xA;    Metadata:&#xA;      encoder         : Lavc58.91.100 mpeg1video&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A&#xA;    Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc58.91.100 mp2&#xA;frame=    2 fps=0.0 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=2.0 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=1.3 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=1.0 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.8 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.7 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.6 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.5 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.4 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.4 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.4 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.3 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.3 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.3 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.3 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.2 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/sframe=    2 fps=0.1 q=3.2 size=       0kB time=01:48:49.26 bitrate=   0.0kbits/s[video4linux2,v4l2 @ 0x56248fe0ab80] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=0 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=2020 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=4061 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=6102 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=8143 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=10184 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=12225 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=14266 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=16307 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=18348 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=20389 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=22430 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=24471 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=26512 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=28553 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=30594 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=32635 size=36451&#xA;[mpeg @ 0x56248fe0dfc0] buffer underflow st=0 bufi=34676 size=36451&#xA;frame=    2 fps=0.1 q=2.0 Lsize=    1470kB time=01:48:49.30 bitrate=   1.8kbits/s speed= 221x    &#xA;video:63kB audio:1388kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.314351%&#xA;Exiting normally, received signal 2.&#xA;

    &#xA;

    what I would ideally like is just a fairly raw 2ch stereo "dump" of what comes through the capture card.

    &#xA;

    As always, I super appreciate any advice

    &#xA;