Recherche avancée

Médias (1)

Mot : - Tags -/framasoft

Autres articles (112)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

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

  • Solution for VB6 to broadcast Webcam

    14 septembre 2018, par vantrung -cuncon

    Sorry, I know VB6 is decades ago, but I’m in a situation that I have to use VB6 to deliver live webcam stream beetween 2 PC in Server - Client Model program. Vb6-code holds the connection then I have no choice but to transfer all data via that connection.

    I’ve tried weeks for this, uncountable approaches but went to nowhere.
    My efforts focused on 3 major approaches :

    1/ Use ffmpeg to record live webcam as ".avi" file on hard disk, transfer parts of file to other end & play it. But I’ve stucked with a media-player that can play a "being written" avi file.

    Windows Media Player control told me "file already in use..." & VLC Plugin can’t even be added to VB6 (axvlc.dll).

    2/ Use ffmpeg to save live webcam as avi file, transfer each bit of that file to the other end, then in other end, extract 24 images / second from the avi to display continously in a picture box.
    This approach is ok except that my hard disk get fulled of images in a time of wink and my program get very slow before hanging.

    3/ Use ffmpeg to stream the live webcam to a rtp-port like this :

    ffmpeg -f dshow -i video="Lenovo EasyCamera" -vcodec mpeg2video -pix_fmt yuv422p -f rtp -an rtp://224.1.2.3:8191

    I’ve successfully watch the stream in VLC, but VLC(axvlc.dll) refused to be integrated into ancient VB6. And more important, I don’t know how to redirect/reroute the rtp stream to other PC with VB6.

    Any one please light me up ? (Any 3rd party component is welcomed)

  • Using Hazel to execute ffmpeg (installed via Homebrew) script to convert video to .gif

    9 août 2018, par benbennybenben

    What I want to do is set Hazel to watch a folder for a new video that I create and then when matched, an embedded FFMPEG script converts the video into a gif.

    I have the matching criteria done,
    Hazel matching rules

    I have the ffmpeg recipe done,

    ffmpeg -ss 5.0 -t 2.5 -i $1 -r 15 -filter_complex "[0:v] fps=15, scale=500:-1, split [a][b];[a] palettegen [p]; [b][p] paletteuse" $1.gif

    But when I put the ffmpeg recipe in the "Embedded Script" dialogue box, I get an error when the match runs.

    2018-08-09 18:43:15.818 hazelworker[68549] [Error] Shell script failed: Error processing shell script on file /Users/bengregory/Scripts/khgfygfjhbvmnb.mp4.
    2018-08-09 18:43:15.818 hazelworker[68549] Shellscript exited with non-successful status code: -900

    I’m not sure if it’s relevant to mention that I’ve install ffmpeg via homebrew

    This is what the embedded shell script looks like
    ffmpeg embedded script

    I’ve been trying to get this to work for weeks and so far not found anything that helps. I read through this article on how to use handbrakeCLI, but no luck
    Hazel and HandbrakeCLI tutorial

    Any help would be greatly received ! Cheers

  • How to add an album cover to an mp3 stream using FFmpeg ?

    29 décembre 2022, par Daniel LAPIDES

    I'm having a bit of an issue and I'd really appreciate it if I could get some insights.

    



    What I am trying to do is to add an album cover to the mp3 file that will be downloaded from the front-end.

    



    Context

    



    I'm downloading a video stream from YouTube and converting it to mp3 using fluent-ffmpeg.
    
To get the video I use the ytdl npm module.

    



    I then pipe this stream to the front-end.

    



    What I've found

    



    fluent-ffmpeg offers either pipe() or saveToFile().

    



    What I figured is that when I use the saveToFile() function and actually save my stream into an mp3 file, it works, I do get the album cover.

    



    But when I pipe the stream to front-end or even into a file, the song is saved properly into a file but without the album cover.

    



    Here is my code

    



    Back-end (NodeJS)

    



    let video = ytdl(`http://youtube.com/watch?v=${videoId}`, {
  filter: (format) => format.container === 'mp4' && format.audioEncoding,
  quality: 'lowest'
});

let stream = new FFmpeg()
  .input(video)
  .addInput(`https://i.ytimg.com/vi/${videoId}/default.jpg`)
  .outputOptions([
      '-map 0:1',
      '-map 1:0',
      '-c copy',
      '-c:a libmp3lame',
      '-id3v2_version 3',
      '-metadata:s:v title="Album cover"',
      '-metadata:s:v comment="Cover (front)"'
  ])
  .format('mp3');


    



    And then piping it to my front-end.

    



    stream.pipe(res);
stream
  .on('end', () => {
    console.log('******* Stream end *******');
    res.end.bind(res);
  })
  .on('error', (err) => {
    console.log('ERR', err);
    res.status(500).end.bind(res);
  });


    



    Front-end (React)

    



    axios.get(url)
  .then(res => {
    axios(`${url}/download`, {
      method: 'GET',
      responseType: 'blob'
    })
      .then(stream => {
        const file = new Blob(
          [stream.data],
          { type: 'audio/mpeg' });
        //Build a URL from the file
        const fileURL = URL.createObjectURL(file);
      })
      .catch(err => {
        console.log('ERROR', err);
      });
    })
    .catch(err => {
      console.log('ERROR', err);
    });