Recherche avancée

Médias (1)

Mot : - Tags -/bug

Autres articles (24)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

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

  • Is it possible to create new mp4 file from a single streaming byte range chunk ?

    11 janvier 2021, par bevinlorenzo

    If I have a remote mp4 file on a server that supports Byte Ranges, is it possible to retrieve a single byte range and create a new/self-contained mp4 from that range data ?

    



    If I try and write a returned byte range data directly to an mp4 file using fs.createWriteStream(remoteFilename) it doesn't get the video meta data (duration, dimensions, etc) that it needs to be playable.

    



    When I get a byte range that starts with 0 and ends with XX the output mp4 is playable, but will have the duration meta-data of the entire video length and will freeze the screen when the byte range is done for the remainder of the duration time.

    



    How else can I take a byte range and create a stand-alone .mp4 file from that stream object ?

    



    The whole point of this is to avoid downloading the entire 10 minute file before I can make a 5 second clip using ffmpeg. If I can calculate and download the byte range, there should be a way to write it to a standalone mp4 file.

    



    Thanks in advance for any help you can provide.

    


  • Bash : bash script to download trimmed mp3 from youtube url

    25 août 2017, par Bhishan Poudel

    I would like to download the initially x seconds trimmed mp3 from a video url of youtube.
    I found that youtube-dl can download the video from youtube to local machine. But, when I looked at the man pages of youtube-dl, I could not find any trim options.

    So I tried to use the ffmpeg to trim downloaded mp3 file.
    Instead of doing this is two steps, I like to write one bash script which does the same thing.
    My attempt is given below.

    However, I was stuck at one place :
    "HOW TO GET THE VARIABLE NAME OF OUTPUT MP3 FILE FROM YOUTUBE-DL ?"
    The script is given below :

    # trim initial x seconds of mp3 file
    # e.g. mytrim https://www.youtube.com/watch?v=dD5RgCf1hrI 30
    function mytrim() {
       youtube-dl --extract-audio --embed-thumbnail --audio-format mp3 -o "%(title)s.%(ext)s" $1
       ffmpeg -ss $2 -i $OUTPUT_MP3 -acodec copy -y temp.mp3
       mv temp.mp3 $OUTPUT_MP3
       }

    How to get the variable value $OUTPUT_MP3 ?
    echo "%(title)s.%(ext)s" gives the verbatim output, does not give the output filename.

    How could we make the script work ?

    The help will be appreciated.

  • Ffmpeg error with output file not specified on linux when executing from dockerized new process in .net-core

    29 août 2017, par DutchGuy

    Some time back i created a small program in full .net framework that could rip mp3 and then add meta-info and a thumbnail to it. For innovation sake i started porting the application to .net core. After that i thought it would be cool to run this in docker on Linux. It took some time but i got it working. Now i’m running into the issue where i can rip the mp3 from the video file but when i try to combine the meta-info, thumbnail and mp3 ffmpeg tells me "At least one output file must be specified"

    I added some checks so the program can run on Linux and Windows (to switch paths etc)

    What i tried :

    • running same argument structure on windows (works)
    • Manualy starting the encode on linux (works)
    • Simplifying the names, paths and titles used in the command
    • replacing extra spaces and special characters, only "-" and single spaces allowed

    Below i have an example of the command that does work when i execute it manually but produces the earlier mentioned error when my program executes it. Also keep in mind that ripping the mp3 from the video does result in the desired outputfile.

    ffmpeg -i "temp/vid-id.mp3" -i "temp/vid-id.jpg" -map 0:0 -map 1:0 -c copy -y -id3v2_version 3 -metadata title="title" -metadata artist="artist" -metadata album="album" "completed/file - name.mp3"

    To start this from .net-core context i use the snippet below :

    using (var ffmpegProcess = new Process())
    {
     ffmpegProcess.EnableRaisingEvents = false;
     ffmpegProcess.StartInfo.CreateNoWindow = true;
     ffmpegProcess.StartInfo.UseShellExecute = false;
     ffmpegProcess.StartInfo.FileName = ffmpegPath(); (returns "/bin/bash")

     string command = "ffmpeg " + arguments;

     ffmpegProcess.StartInfo.Arguments = "-c \" " + command + " \"";

     ffmpegProcess.Start();
     ffmpegProcess.WaitForExit();
     ffmpegProcess.Dispose();
    }

    arguments :

    String.Format("-i \"{0}\" -i \"{1}.jpg\" -map 0:0 -map 1:0 -c copy -y -id3v2_version 3 -metadata title=\"{2}\" -metadata artist=\"{3}\" -metadata album=\"{4}\" \"{5}\"",inputFile, albumArtFile, outputTitle, artist, outputAlbum, outputFile);

    To rip the mp3 from the video file i use the same method mentioned above with the following arguments :

    -i "temp/vid-id.mp4" -vn -ab 320k -y -threads 2 "temp/vid-id.mp3"

    This works as expected.
    Arguments :

    String.Format("-i \"{0}\" -vn -ab 320k -y -threads 2 \"{1}\"", inputFile, outputFile);

    Vid-id does not contain spaces, below is and example of how it could look :

    "abcd12ef-gh34i"

    Since the initial ripping is working i cant figure out why Ffmpeg complains about the second operation. The only real difference between the two operations is that in the second one the output-file name can contain spaces. But even then, running the same command manually does work and produces the desired file in the completed dir.

    Update
    After more troubleshooting i have now narrowed the problem down to the usage of the metadata arguments. Still can’t figure out why

    Update
    The problem is with the spaces in the naming i have chosen. On linux the spaces are interpreted as end of file name. Any pointer how i can still use the naming with spaces ?