Recherche avancée

Médias (0)

Mot : - Tags -/page unique

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (67)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (9168)

  • C# FFMPEG : Code bugs out and stops producing media files

    24 mai 2020, par Hamez

    I've made a joke program in C# that uses ffmpeg to edit videos with different effects such as stuttering. I've finished 3 effects so far and each of them work on their own but as soon as I put one after another e.g.  fx.CrashStutter(0, 2); fx.CrashBeep(2, 2); fx.Wow(4, 2);
The code breaks and no longer produces photo/video files but once I stop debugging the file it was supposed to be processing appears. I've used a system where it loops over trying to execute a command to create a text file as a marker for when ffmpeg is done processing a file. The debug console also repeatedly says "The process tried to write to a nonexistent pipe."

    



    Here's the code for all 3 effects :

    



     public void Wow(double start, double duration)
        {
            if (fxstart == true)
            {
                //MessageBox.Show("WowFX Duration" + duration);
                string folderName = ("W_s" + start);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("mkdir " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("ffmpeg -ss " + start + " -t " + (duration / 6) + " -i " + source + " a.mp4");
                //wait until a.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\a.txt") == false)
                {
                    /*aha got a live one!*/FXcmd.StandardInput.WriteLine(" echo a > a.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i a.mp4 -vf reverse -af areverse b.mp4");
                //wait until b.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\b.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo b > b.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -ss " + start + " -t " + (duration / 3) + " -i " + source + " c.mp4");
                //wait until c.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\c.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo c > c.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i c.mp4 -vf reverse -af areverse d.mp4");
                //wait until d.mp4 appears
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\d.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo d > d.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                string[] concatList = { "file 'a.mp4'", "file 'b.mp4'", "file 'c.mp4'", "file 'd.mp4'" };
                //FXcmd.StandardInput.Write("del a.txt, b.txt, c.txt, d.txt");
                //System.Threading.Thread.Sleep(1000);
                System.IO.File.WriteAllLines(("FxSource(Temporary)\\" + folderName + "\\concatList.txt"), concatList);
                System.Threading.Thread.Sleep(1500);
                FXcmd.StandardInput.WriteLine("ffmpeg -f concat -i concatList.txt -c copy " + folderName + ".mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\" + "1.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo 1 > 1.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("copy " + folderName + ".mp4 ..");
                while (File.Exists("FxSource(Temporary)\\" + folderName + ".mp4") == false)
                {
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cls");
                FXcmd.StandardInput.Flush();
            }
        }
        public void CrashStutter(int start, int duration)
        {
            if (fxstart == true)
            {
                string folderName = ("Cs_s" + start);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("mkdir " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("ffmpeg -ss " + start + " -t 0.1" + " -i " + source + " a.mp4");
                System.Threading.Thread.Sleep(100);
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\a.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo a > a.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -stream_loop "+10*duration+" -i a.mp4 "+folderName+".mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\" + "1.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo 1 > 1.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("copy " + folderName + ".mp4 ..");
                while (File.Exists("FxSource(Temporary)\\" + folderName + ".mp4") == false)
                {
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cls");
                FXcmd.StandardInput.Flush();
            }
        }
        public void CrashBeep(int start, int duration)
        {
            //this effect cannot last longer than 7 seconds
            double contrast = 25;
            double red = 0.75;
            if (fxstart == true)
            {
                string folderName = ("Cb_s" + start);
                FXcmd.StandardInput.WriteLine("mkdir " + folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd " + folderName);
                System.Threading.Thread.Sleep(100);
                /*gets stuck*/FXcmd.StandardInput.WriteLine("ffmpeg -i "+source+ " -vf fps=1 a.jpg");
                System.Threading.Thread.Sleep(100);
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\a.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo a > a.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i a.jpg -vf eq=contrast="+contrast+" b.jpg");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\b.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo b > b.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i b.jpg -vf colorbalance=rm=" + red + " c.jpg");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\c.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo > c.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -loop 1 -i c.jpg -c:v libx264 -t "+ duration +" -pix_fmt yuv420p -vf scale=1920:1080 d.mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\d.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo d > d.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("copy beep.mp3 "+folderName+"/beep.mp3");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cd "+folderName);
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("ffmpeg -i beep.mp3 -ss 0 -t " + duration + " e.mp3");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\e.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo e > e.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("ffmpeg -i d.mp4 -i e.mp3 -c copy -map 0:v:0 -map 1:a:0 " + folderName + ".mp4");
                while (File.Exists("FxSource(Temporary)\\" + folderName + "\\" + "1.txt") == false)
                {
                    FXcmd.StandardInput.WriteLine(" echo 1 > 1.txt");
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("copy " + folderName + ".mp4 ..");
                while (File.Exists("FxSource(Temporary)\\" + folderName + ".mp4") == false)
                {
                    System.Threading.Thread.Sleep(1500);
                }
                FXcmd.StandardInput.WriteLine("cd ..");
                System.Threading.Thread.Sleep(100);
                FXcmd.StandardInput.WriteLine("cls");
                FXcmd.StandardInput.Flush();
            }
        }


    



    Any suggestions ? Thanks !

    


  • Live streaming HLS on Red 5 Media Server on Windows Server

    31 juillet 2013, par user1516711

    I am trying to develop a streaming server using Red 5 on Windows Server that would have two clients, a web app running on Windows 8 PCs and an iOS app.

    The problem I'm facing is that iOS only supports HLS and Red 5 only supports RTSP/RTMP, so I need to convert incoming streams from HLS to RTSP/RTMP and outgoing streams from RTMP/RTSP to HLS using FFMPEG commands. How would I go about this ? Should I modify the Red 5 server code or is there a better alternative ?

  • Create audio/video, audio only, and video only HLS playlist version of the same media file

    15 avril 2020, par Kevin Paek

    I have a media.mp4 file.

    



    Currently I convert it to an HLS playlist with this command :

    



    ffmpeg -y -i \
  "media.mp4" \
  -g 48 -sc_threshold 0 \
  -profile:v baseline -level:v 3.0 -pix_fmt yuv420p \
  -map 0:0 -map 0:1 -map 0:0 -map 0:1 \
  -map 0:0 -map 0:1 -map 0:0 -map 0:1 \
  -map 0:0 -map 0:1 -map 0:0 -map 0:1 \
  -c copy \
  -s:v:0 256x144   -c:v:0 libx264 -b:v:0 200k  -minrate:v:0 200k   -maxrate:v:0 200k   -bufsize:v:0 200k \
  -s:v:1 426x240   -c:v:1 libx264 -b:v:1 400k  -minrate:v:1 400k   -maxrate:v:1 400k   -bufsize:v:1 400k \
  -s:v:2 640x360   -c:v:2 libx264 -b:v:2 700k  -minrate:v:2 700k   -maxrate:v:2 700k   -bufsize:v:2 700k \
  -s:v:3 854x480   -c:v:3 libx264 -b:v:3 1280k -minrate:v:3 1280k  -maxrate:v:3 1280k  -bufsize:v:3 1280k \
  -s:v:4 1280x720  -c:v:4 libx264 -b:v:4 2560k -minrate:v:4 2560k  -maxrate:v:4 2560k  -bufsize:v:4 2560k \
  -s:v:5 1920x1080 -c:v:5 libx264 -b:v:5 5120k -minrate:v:5 5120k  -maxrate:v:5 5120k  -bufsize:v:5 5120k \
  -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2 v:3,a:3 v:4,a:4 v:5,a:5" \
  -master_pl_name "master.m3u8" \
  -f hls \
  -hls_playlist_type vod \
  -hls_time 5 \
  -hls_list_size 0 \
  -hls_flags split_by_time+round_durations \
  -start_number 1 \
  -hls_segment_filename "av/%v/%02d.ts" \
  "av/%v/prog_index.m3u8"


    



    I can create audio only and video only version with the -an and -vn flags, but it would convert the file 3 times.

    



    Is there a way I can create all three versions with only 1 conversion ?

    



    I couldn't figure out a way to convert the resulting master.m3u8 into and audio only and video only version.
Also tried creating a converted_media.mp4 then using that to just copy the audio and video streams and just make the 3 playlists, but that didn't work either.

    



    Any help appreciated.