Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (75)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (12205)

  • Get MP3 content in C ? ffmpeg or mpg123lib ?

    20 novembre 2014, par Nicolás Múnera

    I’m trying for a personal project of mine to mix two mp3 files into one. I’ve been investigating for a couple of days how to read an mp3 with C and i’ve come up with two libraries, ffmpeg and mpg3lib, unfortunately the documentation is a little bit confusing.

    For now I’m trying to get the content of one MP3 file, I just want to understand which parts are valuable and which parts of the data I get are the ones i’m supposed to mix together. This is what i’ve got so far :

    int cont = 0;
    fprintf(stderr, "Starting decode...\n");
    while(1)
    {
            len = fread(buf, sizeof(unsigned char), INBUFF, in);
            if(len <= 0)
                    break;
            inc += len;
            ret = mpg123_feed(m, buf, len);

            while(ret != MPG123_ERR && ret != MPG123_NEED_MORE)
            {
                    ret = mpg123_decode_frame(m, &num, &audio, &bytes);
                    if(ret == MPG123_NEW_FORMAT)
                    {
                        mpg123_getformat(m, &rate, &channels, &enc);
                        initwavformat();
                        initwav();
                        fprintf(stderr, "New format: %li Hz, %i channels, encoding value %i\n", rate, channels, enc);
                    }

                    printf("Frame # %d: %s\n",cont,audio);          
                    fwrite(audio, sizeof(unsigned char), bytes, out);
                    outc += bytes;
            }
        if(ret == MPG123_ERR){
                fprintf(stderr, "Error: %s", mpg123_strerror(m));
                break;
        }
    cont++;
    }

    With this code, I think i’m getting the content of the MP3, but when I print it I just get some weird characters, so I don’t know which strategy i should take.

    Could you guys give me a little bit of advice with this ?

    Thank you !

  • movenc : Remove an outdated comment

    3 novembre 2014, par Martin Storsjö
    movenc : Remove an outdated comment
    

    QuickTime does support files with an empty initial movie
    these days.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] doc/muxers.texi
    • [DH] libavformat/movenc.c
  • How to debug ffmpeg reliability for long running rtsp streams

    13 septembre 2022, par Mark

    I have a long running ffmpeg background process that "watches" an rtsp stream and takes snapshots every 7 minutes.

    &#xA;

    It's being run like this

    &#xA;

    C:\Windows\System32\cmd.exe /c C:\ffmpeg\bin\ffmpeg.exe -nostdin -rtsp_transport tcp -y -timeout 5000000 -i rtsp://someurl -q:v 1 -an -vf fps=0.002381,scale="1280:720" -strftime 1 -f image2 C:\somelocalfolder\%Y-%m-%d_%H-%M-%S.jpg > c:\ffmpeglog.txt 2>&amp;1&#xA;

    &#xA;

    This process runs for days but intermittently, for hours at a time, seems to miss taking snapshots, until eventually it starts to take them again - then fail again, etc. The logs at info level are not helpful. I checked the stream during times when it was not taking snapshots and the stream was up. What's happening here ? How can I debug this ?

    &#xA;

    Below is an image of succesfull snapshots per hour. There should always be between 8 and 9.&#xA;metrics on successful snapshots taken

    &#xA;

    Logs look like this

    &#xA;

        ffmpeg version 2022-03-31-git-e301a24fa1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers&#xA;  built with gcc 11.2.0 (Rev7, Built by MSYS2 project)&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint&#xA;  libavutil      57. 24.101 / 57. 24.101&#xA;  libavcodec     59. 25.100 / 59. 25.100&#xA;  libavformat    59. 20.101 / 59. 20.101&#xA;  libavdevice    59.  6.100 / 59.  6.100&#xA;  libavfilter     8. 29.100 /  8. 29.100&#xA;  libswscale      6.  6.100 /  6.  6.100&#xA;  libswresample   4.  6.100 /  4.  6.100&#xA;  libpostproc    56.  5.100 / 56.  5.100&#xA;Input #0, rtsp, from &#x27;rtsp://somerul&#x27;:&#xA;  Metadata:&#xA;    title           : HIK Media Server V4.21.005&#xA;    comment         : HIK Media Server Session Description : standard&#xA;  Duration: N/A, start: 0.033000, bitrate: N/A&#xA;  Stream #0:0: Video: h264 (High), yuv420p(progressive), 704x576, 30 tbr, 90k tbn&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))&#xA;[swscaler @ 000002a1c2c20680] [swscaler @ 000002a1c2c2e0c0] deprecated pixel format used, make sure you did set range correctly&#xA;[swscaler @ 000002a1c2c20680] [swscaler @ 000002a1c2c67c40] deprecated pixel format used, make sure you did set range correctly&#xA;[swscaler @ 000002a1c2c20680] [swscaler @ 000002a1c2cc6700] deprecated pixel format used, make sure you did set range correctly&#xA;Output #0, image2, to &#x27;C:\somelocalfolder\Temp\stream_2\StreamedImages\%Y-%m-%d_%H-%M-%S.jpg&#x27;:&#xA;  Metadata:&#xA;    title           : HIK Media Server V4.21.005&#xA;    comment         : HIK Media Server Session Description : standard&#xA;    encoder         : Lavf59.20.101&#xA;  Stream #0:0: Video: mjpeg, yuvj420p(pc, progressive), 1280x720, q=2-31, 200 kb/s, 0.0024 fps, 0.0024 tbn&#xA;    Metadata:&#xA;      encoder         : Lavc59.25.100 mjpeg&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A&#xA;frame=    1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x   &#xA;

    &#xA;

    Update&#xA;I got some trace logs. The ffmpeg seems to fail silently at some point and stop taking snapshots.

    &#xA;

    After about 3 million log lines (which is really only a couple of hours in my case) I get the following

    &#xA;

    rtsp://192.168.15.195:554/streaming/channels/904: Unknown error&#xA;

    &#xA;

    But ffmpeg silently continues. Here is a bit more of the log

    &#xA;

        [Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074443040, out pts 28&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28&#xA;frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.95x    &#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[h264 @ 00000248e7d59880] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3&#xA;[rtsp @ 00000248e765cf00] ret=-138 c=24 [$]&#xA;rtsp://192.168.15.195:554/streaming/channels/904: Unknown error&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074446100, out pts 28&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28&#xA;frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.95x    &#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=696&#xA;[rtsp @ 00000248e765cf00] Sending:&#xA;GET_PARAMETER rtsp://192.168.15.195:554/streaming/channels/904 RTSP/1.0&#xA;&#xA;CSeq: 402&#xA;&#xA;User-Agent: Lavf59.20.101&#xA;&#xA;Session: 931848797&#xA;&#xA;Authorization: Digest username="******", realm="709382dda4ccb674edf093d3", nonce="13fca62fc", uri="rtsp://192.168.15.195:554/streaming/channels/904", response="74341df9611f0ac3dc247b402424735b", algorithm="MD5"&#xA;&#xA;&#xA;&#xA;--&#xA;[NULL @ 00000248e7662640] nal_unit_type: 7(SPS), nal_ref_idc: 3&#xA;[NULL @ 00000248e7662640] nal_unit_type: 8(PPS), nal_ref_idc: 3&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=756&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074449070, out pts 28&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Read frame with in pts 1074449070, out pts 28&#xA;[Parsed_fps_0 @ 00000248e7d50e40] Dropping frame with pts 28&#xA;frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.949x    &#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1352&#xA;frame=   28 fps=0.0 q=1.0 size=N/A time=03:08:59.77 bitrate=N/A speed=0.949x    &#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1352&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1352&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1352&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1228&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1352&#xA;[NULL @ 00000248e7662640] reference count 1 overflow&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=804&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=1352&#xA;[NULL @ 00000248e7662640] illegal memory management control operation 11&#xA;[rtsp @ 00000248e765cf00] tcp_read_packet:&#xA;[rtsp @ 00000248e765cf00] ret=1 c=24 [$]&#xA;[rtsp @ 00000248e765cf00] id=0 len=836&#xA;

    &#xA;

    Basically it appears an issue of ffmpeg silently failing. If it crashed, my software could detect it and I could rerun it, but if it fails silently like this, I need another solution.

    &#xA;