Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (87)

Sur d’autres sites (15984)

  • Node.js asynchronous video conversion slow

    9 décembre 2016, par lukstei

    I wrote a little website/service, which can download a video from a website (currently Youtube) and converts it on the fly to an mp3 file and sends this file back as the response.

    For example, you when you request http://localhost:8000/v=http ://www.youtube.com/watch?v=HhoewflkQu0, then it will download this video and response the audio layer encoded in MP3.

    This all works very well, my problem is that this is very slow and I can’t figure out why.


    Simplified the script behaves like this :

    Download the video and write it to the stdin of ffmpeg, and the stdout goes to the response.
    Video (MP4, FLV) -> FFMPEG -> MP3

    I used curl to figure out how fast the script is :

    $ curl http://localhost:8000/v=http://www.youtube.com/watch?v=HhoewflkQu0

    I get only about 5-10k.

    So why is this so slow ?

    1. The server, from which I am downloading the video is slow.
    2. The conversion is slow (because of a slow CPU).
    3. The data transfer between node.js -> FFMPEG is slow.

    I tried to download the video in a normal download manager, and i got about 320k, which is my normal download speed, so the first point isn’t the bottleneck.

    To point 2 and 3, I tried to write a local file to the stdin, and I got about 600k so that isn’t it either.

    So why is my script so slow, and what can I do to make it faster ?

    https://gist.github.com/1304637

    Thanks in advance.

  • ffplay : remove global video state

    4 décembre 2011, par Marton Balint

    ffplay : remove global video state

  • Audio output with video processing with opencv

    22 février 2012, par victor1234

    I am processing video with opencv, but at the same time I need to play audio and simply control it, like loud or current frame number.

    I think I should create a parallel process with ffmpeg, but I don't know how to do so. Can you explain what to do ?

    Or do you know another solution ?