Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (40)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • 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 (...)

  • Les notifications de la ferme

    1er décembre 2010, par

    Afin d’assurer une gestion correcte de la ferme, il est nécessaire de notifier plusieurs choses lors d’actions spécifiques à la fois à l’utilisateur mais également à l’ensemble des administrateurs de la ferme.
    Les notifications de changement de statut
    Lors d’un changement de statut d’une instance, l’ensemble des administrateurs de la ferme doivent être notifiés de cette modification ainsi que l’utilisateur administrateur de l’instance.
    À la demande d’un canal
    Passage au statut "publie"
    Passage au (...)

Sur d’autres sites (5476)

  • FFmpeg transcoding video H.264 -> AV1 leads to distorted image

    21 juin 2023, par user1584149

    I'm reading video from stdin via pipe similar to this one Python gets stuck at pipe.stdin.write(image.tostring())

    


    FFmpeg is using libsvtav1 codec with options according to documentation

    


    ffmpeg -y -f rawvideo -i pipe:0 -s {frame_width}x{frame_height} -r {frame_rate} -c:a copy -c:v libsvtav1 -preset 6 -crf 30 -svtav1-params "color-format=1:film-grain-denoise=0:mbr=2M" {output_file} 


    


    Here's couple of details about used FFmpeg version as well as input video

    


    ffmpeg version n5.1.3-14-ge5b5dd6653-20230621 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 13.1.0 (crosstool-NG 1.25.0.196_227d99d)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64 --target-os=linux --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-openssl --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libpulse --enable-libvmaf --enable-libxcb --enable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --disable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --disable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --disable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags=-pie --extra-libs='-ldl -lgomp' --extra-version=20230621
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, rawvideo, from 'pipe:0':
  Duration: N/A, start: 0.000000, bitrate: 331776 kb/s
  Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 331776 kb/s, 30 tbr, 30 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> av1 (libsvtav1))
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:   SVT-AV1 Encoder Lib v1.5.0-12-g0f8b3a81
Svt[info]: SVT [build]  :   GCC 13.1.0   64 bit
Svt[info]: LIB Build date: Jun 20 2023 23:48:14
Svt[info]: -------------------------------------------


    


    The output video transcoded by SVT-AV1 codec is blemished as you can see on the images below. Normally I would say it could be caused by wrong pixel format, but input stream has yuv420 format what is the same as encoder's pixel format parameter —color-format.

    


    Please share your experience or ideas how to get it transcoding correctly.

    


    Thanks in advance.

    


    Image 1
Image 2

    


  • Issue with downloading read-only recordings on Teams [closed]

    26 août 2023, par Ankit

    I have been following this guidance to download read-only Microsoft Teams recordings until last month (early July'23) successfully. But now when I am trying the same steps and everything, I am getting some error (given below for reference).

    


    The code that I am trying in CMD -

    


    ffmpeg -i "PASTE_YOUR_COPIED_REQUEST_URL_HERE" -codec copy NAME_OF_DOWNLOADFILE.mp4


    


    The error that I am getting now -

    


    [tls @ <some number="number">] Error in the pull function.&#xA;[tls @ <some number="number">] IO error: Error number -10054 occurred&#xA;[in#0 @ <some number="number">] Error opening input: Error number -10054 occurred&#xA;Error opening input file &#xA;Error opening input files: Error number -10054 occurred&#xA;</some></some></some>

    &#xA;

    I am running Windows 10 Enterprise 64-bit version.

    &#xA;


    &#xA;

    I have tried the following things, but they didn't help -

    &#xA;

      &#xA;
    1. Tried downloading inherently downloadable recordings (that are un-protected, non view-only videos)
    2. &#xA;

    3. Removing some parts of the URL as highlighted/suggested by some Reddit users
    4. &#xA;

    5. Tried different browsers (Edge and Chrome)
    6. &#xA;

    7. Tried refreshing my ffmpeg folder with latest version
    8. &#xA;

    9. Tried running the command in cmd with 'Run as Administrator' option
    10. &#xA;

    &#xA;

    Please suggest how shall I download read-only Teams recording using either ffmpeg or some other tool ?

    &#xA;

  • Ffmpeg configuration to stream the frames of my webcam

    6 juillet 2023, par Ridweng

    I'm trying to build a server in NodeJs to stream in RTSP my webcam using Angular to retrieve the frames and connecting using websockets. The server side is using "express-ws" module to create the Websocket.

    &#xA;

    I was successfull in sending the frames from the webcam to the server in base64, the server is receiving these messages from a function on interval of (1000 / 30)ms.

    &#xA;

    The issue relies on the implementation of my Ffmpeg child process. I retrieve the message and convert it into a buffer to then write this in the function of Ffmpeg.

    &#xA;

    My current implementation is this one :

    &#xA;

    const { spawn } = require(&#x27;child_process&#x27;);&#xA;exports.stream =  (ws ,req) => {&#xA;    try{&#xA;        const mess = `connection from: ${req._remoteAddress} at ${req._startTime}.`&#xA;        const initialMess =`Started ${mess}`&#xA;        ws.uuid = uuidv4()&#xA;        console.log(initialMess)&#xA;&#xA;        ws.on(&#x27;message&#x27;, function incoming(message) {&#xA;            message = JSON.parse(message)&#xA;            console.log(`Res: ${message.width} x ${message.height}`);&#xA;            const ffmpeg = spawn(&#x27;ffmpeg&#x27;, [&#xA;                &#x27;-f&#x27;, &#x27;rawvideo&#x27;,&#xA;                &#x27;-pixel_format&#x27;, &#x27;rgb24&#x27;,&#xA;                &#x27;-video_size&#x27;, `${message.width}x${message.height}`,&#xA;                &#x27;-framerate&#x27;, `${message.framerate}`,&#xA;                &#x27;-i&#x27;, &#x27;-&#x27;,&#xA;                &#x27;-codec:v&#x27;, &#x27;libx264&#x27;,&#xA;                &#x27;-preset&#x27;, &#x27;ultrafast&#x27;,&#xA;                &#x27;-tune&#x27;, &#x27;zerolatency&#x27;,&#xA;                &#x27;-f&#x27;, &#x27;rtsp&#x27;,&#xA;                &#x27;rtsp://127.0.0.1:554/rtsp/stream&#x27;,&#xA;            ]);&#xA;            const base64Data = message.video;&#xA;            const videoData = Buffer.from(base64Data, &#x27;base64&#x27;);&#xA;&#xA;            ffmpeg.stdin.write(videoData);&#xA;            ffmpeg.stdin.end();&#xA;            &#xA;            ffmpeg.stderr.on(&#x27;data&#x27;, (data) => {&#xA;                console.error(`FFmpeg : ${data}`);&#xA;                });&#xA;&#xA;            ffmpeg.on(&#x27;exit&#x27;, (code, signal) => {&#xA;                if (dev) console.log(`FFmpeg process exited with code ${code} and signal ${signal}`);&#xA;        &#xA;                // Close the WebSocket connection&#xA;                ws.close();&#xA;                });&#xA;        });&#xA;        ws.on(&#x27;close&#x27;, () => {&#xA;            const finalMess = `Stopped ${mess}`&#xA;            rem(ws.uuid)&#xA;            console.log(finalMess)&#xA;        })&#xA;    }catch(err){&#xA;        console.log(err)&#xA;    }&#xA;}&#xA;

    &#xA;

    In terms of the message received, this is the Angular side sending the message :

    &#xA;

    const imageData = this.canvas.toDataURL(&#x27;image/jpeg&#x27;);&#xA;socket.send(JSON.stringify({video: imageData, width: this.canvas.width, height: this.canvas.height, framerate: interval }));&#xA;

    &#xA;

    The interval variable is the divisor of the interval that is triggering the function (in this case 30).

    &#xA;

    I'm currently receiving the error message from Ffmpeg :

    &#xA;

    ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)&#xA;&#xA;FFmpeg :   configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon&#xA;  libavutil      58.  2.100 / 58.  2.100&#xA;  libavcodec     60.  3.100 / 60.  3.100&#xA;  libavformat    60.  3.100 / 60.  3.100&#xA;  libavdevice    60.  1.100 / 60.  1.100&#xA;  libavfilter     9.  3.100 /  9.  3.100&#xA;  libswscale      7.  1.100 /  7.  1.100&#xA;  libswresample   4. 10.100 /  4. 10.100&#xA;  libpostproc    57.  1.100 / 57.  1.100&#xA;&#xA;FFmpeg : [rawvideo @ 0x150005ff0] Packet corrupt (stream = 0, dts = 0).&#xA;&#xA;FFmpeg : Input #0, rawvideo, from &#x27;fd:&#x27;:&#xA;  Duration: N/A, start: 0.000000, bitrate: 221184 kb/s&#xA;  Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 640x480, 221184 kb/s, 30 tbr, 30 tbn&#xA;&#xA;FFmpeg : Stream mapping:&#xA;  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))&#xA;&#xA;FFmpeg : fd:: corrupt input packet in stream 0&#xA;[rawvideo @ 0x14ef24290] Invalid buffer size, packet size 76343 &lt; expected frame_size 921600&#xA;&#xA;FFmpeg : Error while decoding stream #0:0: Invalid argument&#xA;&#xA;FFmpeg : [libx264 @ 0x14ef25a20] using cpu capabilities: ARMv8 NEON&#xA;&#xA;FFmpeg : [libx264 @ 0x14ef25a20] profile High 4:4:4 Predictive, level 3.0, 4:4:4, 8-bit&#xA;&#xA;FFmpeg : [libx264 @ 0x14ef25a20] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=6 threads=7 lookahead_threads=7 sliced_threads=1 slices=7 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0&#xA;&#xA;FFmpeg : [tcp @ 0x1500078a0] Connection to tcp://127.0.0.1:554?timeout=0 failed: Connection refused&#xA;[out#0/rtsp @ 0x14ef24b00] Could not write header (incorrect codec parameters ?): Connection refused&#xA;&#xA;FFmpeg : [vost#0:0/libx264 @ 0x14ef256d0] Error initializing output stream: &#xA;&#xA;FFmpeg : Conversion failed!&#xA;&#xA;FFmpeg process exited with code 1 and signal null&#xA;

    &#xA;

    This is the reason I believe the issue relies on the configuration of Ffmpeg and how to set it for this case. It would be great to being able to play this RTSP link in my VLC to conclude it as successfull.

    &#xA;

    I would apreciate any suggestions or guidence.&#xA;Thanks in advance.

    &#xA;