Recherche avancée

Médias (91)

Autres articles (79)

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

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (14500)

  • Converting DAV to MP4 and OGG

    25 avril, par mackowiakp

    I want to prepare WEB page containing films from security camera recorders. Each recorder transmit video files in DAV format so each film is converted to MP4 format by script, using such syntax :

    



    ffmpeg -y -i movie.dav -vcodec libx264 -crf 24 movie.mp4


    



    So I included in HTMLv5 code such entry :

    



     <video width="320" height="240">&#xA;  <source src="movie.mp4" type="video/mp4">&#xA;</source></video> &#xA;

    &#xA;&#xA;

    It works correctly with Chrome but not with Firefox. For proper work in FF it is necessary add link to OGG file. So correct HTMLv5 syntax for both browsers should look like this :

    &#xA;&#xA;

     <video width="320" height="240">&#xA;  <source src="movie.mp4" type="video/mp4">&#xA;  <source src="movie.ogg" type="video/ogg">&#xA;</source></source></video>&#xA;

    &#xA;&#xA;

    Can anybody help me to pass correct ffmpeg syntax to create OGG file ?

    &#xA;&#xA;

    Output from console after using -movflags +faststart options

    &#xA;&#xA;

    [maciek@piotr MMM]$ ../ffmpeg-2.4.2-64bit-static/ffmpeg -movflags &#x2B;faststart -y -i   04.24.23-04.24.38\[M\]\[@0\]\[0\].dav -vcodec libx264 -crf 24 10.mp4&#xA;ffmpeg version 2.4.2-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2014 the FFmpeg developers&#xA;  built on Oct  9 2014 07:24:56 with gcc 4.8 (Debian 4.8.3-11)&#xA;  configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable- libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-libass --enable-gnutls --cc=gcc-4.8&#xA;  libavutil      54.  7.100 / 54.  7.100&#xA;  libavcodec     56.  1.100 / 56.  1.100&#xA;  libavformat    56.  4.101 / 56.  4.101&#xA;  libavdevice    56.  0.100 / 56.  0.100&#xA;  libavfilter     5.  1.100 /  5.  1.100&#xA;  libswscale      3.  0.100 /  3.  0.100&#xA;  libswresample   1.  1.100 /  1.  1.100&#xA;  libpostproc    53.  0.100 / 53.  0.100&#xA;Option movflags not found.&#xA;

    &#xA;

  • Grabbing a single image from a MS VS .NET 6.0 C# WPF process always returns the same image

    12 mai 2023, par Wolfgang Kurz

    I am trying to develop a MS VS .NET 6.0 C# WPF application to digitize my Super 8 cine films. To grab the frames of the film I want to use FFMPEG because Accord.NET6.0 DirectShow does not work under MS VS 2022 .&#xA;I use&#xA;FFmpeg 64-bit static Windows build from www.gyan.dev&#xA;Version : 2022-09-29-git-8089fe072e-full_build-www.gyan.dev

    &#xA;

    FFMPEG is invoked from a Process in ma application whicch sets the process FFMPEG start parameters. The webcam parameter is "USB Webcam" ( digital Celestron handheld microscope connected via USB - is DirectShow compatible )&#xA;The video resolution parameter "camRes" is "1280x960"

    &#xA;

    public void UpdateImage(string aString)&#xA;    {&#xA;        string startPath = "C:" &#x2B; MainWindow.bSl &#x2B; "ffmpeg" &#x2B; MainWindow.bSl &#x2B; "bin" &#x2B; MainWindow.bSl &#x2B; "ffmpeg.exe ";&#xA;&#xA;        MainWindow.aResult = "";&#xA;        System.Drawing.Bitmap result;&#xA;        ProcessStartInfo psi;&#xA;        psi = new ProcessStartInfo();&#xA;        psi.FileName = startPath;&#xA;        string targPath;&#xA;        psi.Arguments = "-f dshow -video_size" &#x2B; MainWindow.dQuote &#x2B; webCam &#x2B; MainWindow.dQuote &#x2B;&#xA;             " -framerate 10  -i video=" &#x2B; MainWindow.dQuote &#x2B; camRes &#x2B; MainWindow.dQuote &#x2B;&#xA;            " -frames:v 1 test%3d.bmp -update 1";&#xA;        string errors = "";&#xA;        string results = "";&#xA;        psi.CreateNoWindow = false;&#xA;        psi.RedirectStandardOutput = true;&#xA;        psi.RedirectStandardError = true;&#xA;        psi.WindowStyle = ProcessWindowStyle.Normal;&#xA;        psi.WorkingDirectory = "C:" &#x2B; MainWindow.bSl &#x2B; "ffmpeg" &#x2B; MainWindow.bSl &#x2B; "bin" &#x2B; MainWindow.bSl;&#xA;&#xA;        using (Process theProcess = new Process())&#xA;        {&#xA;            theProcess.StartInfo = psi;&#xA;            theProcess.Start();&#xA;&#xA;            theProcess.WaitForExit();&#xA;            while (theProcess.HasExited == false)&#xA;            {&#xA;                Thread.Sleep(50);&#xA;            }&#xA;            Thread.Sleep(50);&#xA;&#xA;            try&#xA;            {&#xA;                if (File.Exists(pathCI) == true)&#xA;                {&#xA;                    DefineImage.ffmpegRes = new Bitmap(pathCI);&#xA;                    MainWindow.actMWInstance.UpdateMessage(DateTime.Now &#x2B;&#xA;                        "- Old image disposed, new image grabbed");&#xA;                    File.Delete(pathCI);&#xA;                }&#xA;            }&#xA;            catch (System.Exception ex)&#xA;            {&#xA;                MainWindow.actMWInstance.UpdateMessage(DateTime.Now &#x2B; "Image grabbing failed");&#xA;            }&#xA;            theProcess.Close();&#xA;            theProcess.Dispose();&#xA;        }&#xA;&#xA;        if (aString.Length == 0)&#xA;        {&#xA;            File.Delete(pathCI);&#xA;            MainWindow.actMWInstance.DoMove("200", "0", true);&#xA;        }&#xA;        if (ffmpegRes != null)&#xA;        {&#xA;            BitmapSource aBMPSrc = BitmapConversion.ToWpfBitmap(ffmpegRes);&#xA;            IMGFrame.Source = aBMPSrc;&#xA;        }&#xA;        Show();&#xA;    }&#xA;

    &#xA;

    The attached screenshot shows the expected GUI content.&#xA;https://www.wkurz.com/wkurz/images/FFMPEGTEST.jpg

    &#xA;

    My problem now is, when I try to refresh the image in the DefineDialog window, I always get the same image although the film has been moved by one frame.

    &#xA;

    Is the first image cached by FFMPEG and always used again with the provided parameters.

    &#xA;

    How to force FFMPEG to replace the image with a new one.

    &#xA;


    &#xA;

    -----------------------------------------------------------------------+this is additional information to the question.&#xA;I have managed to grab the film frame but still get always the same image during a session :*

    &#xA;

    GUI of the WPF C# program

    &#xA;

    It is obvious that the cine film frame has been successfully grabbbed.&#xA;The next step should be to work at the image ( correct brightness contrast, gama and colors) and then store the evaluated correction values that have later to be applied to the frames during a batch process, which automatically transports the film, grabs the frames and corrects the colors and then stores the frames as consecutively numbered images which than can be used to generate a video with FFMPEG :

    &#xA;

    Now the problem I cannot overcome :

    &#xA;

    In the definition dialog there are 2 buttons ( Refresh and New Image). The intension is to reread / regrab a frame, if the current frame is not optimal to evaluate the correction values.

    &#xA;

    Whenever I click one of the buttons FFMPEG seems to grab an image, but FFMPEG provides always the same (identcial to the first already available image) to the caller ( a .NET C# Process in my proggram).

    &#xA;

    The output stream is a single jpg image ( test%04d.jpg ) in a specified target library . Here follows the generated output which seem to be OK according to my knowledge.

    &#xA;

    I want to ask all interested persons to look over this provided information - may be someone has an idea, what causes the fact, that FFMPEG 6.0 van Neumann always delivers the first image grabbed. in a session.&#xA;It seems that there is something cached and reused over and over again.

    &#xA;

    DefImg 147: UpdateImage started ( Lines starting with DefImg or DefineImage are test output statements provided by the C# program)&#xA;

    &#xA;

    DefineImage 155 11.05.2023 17:53:20 C :\ffmpeg\bin\ffmpeg.exe -y -nostdin -f dshow -an -video_size 1280x960 -framerate 10 -i video="USB Microscope" -filter:v "smartblur=luma_radius=0.9:luma_strength=0.7:luma_threshold=0" -frames:v 1 C :\FilmProjList\TEST\TEST%%04d.jpg -update 1&#xA;DefineImage 180 ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers&#xA;built with gcc 12.2.0 (Rev10, Built by MSYS2 project)&#xA;configuration : —enable-gpl —enable-version3 —enable-static —disable-w32threads —disable-autodetect —enable-fontconfig —enable-iconv —enable-gnutls —enable-libxml2 —enable-gmp —enable-bzlib —enable-lzma —enable-libsnappy —enable-zlib —enable-librist —enable-libsrt —enable-libssh —enable-libzmq —enable-avisynth —enable-libbluray —enable-libcaca —enable-sdl2 —enable-libaribb24 —enable-libdav1d —enable-libdavs2 —enable-libuavs3d —enable-libzvbi —enable-librav1e —enable-libsvtav1 —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxavs2 —enable-libxvid —enable-libaom —enable-libjxl —enable-libopenjpeg —enable-libvpx —enable-mediafoundation —enable-libass —enable-frei0r —enable-libfreetype —enable-libfribidi —enable-liblensfun —enable-libvidstab —enable-libvmaf —enable-libzimg —enable-amf —enable-cuda-llvm —enable-cuvid —enable-ffnvcodec —enable-nvdec —enable-nvenc —enable-d3d11va —enable-dxva2 —enable-libvpl —enable-libshaderc —enable-vulkan —enable-libplacebo —enable-opencl —enable-libcdio —enable-libgme —enable-libmodplug —enable-libopenmpt —enable-libopencore-amrwb —enable-libmp3lame —enable-libshine —enable-libtheora —enable-libtwolame —enable-libvo-amrwbenc —enable-libilbc —enable-libgsm —enable-libopencore-amrnb —enable-libopus —enable-libspeex —enable-libvorbis —enable-ladspa —enable-libbs2b —enable-libflite —enable-libmysofa —enable-librubberband —enable-libsoxr —enable-chromaprint&#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;Trailing option(s) found in the command : may be ignored.&#xA;Input #0, dshow, from 'video=USB Microscope' :&#xA;Duration : N/A, start : 5368.514437, bitrate : N/A&#xA;Stream #0:0 : Video : rawvideo (YUY2 / 0x32595559), yuyv422(tv, bt470bg/bt709/unknown), 1280x960, 10 fps, 10 tbr, 10000k tbn&#xA;Stream mapping :&#xA;Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))&#xA;[swscaler @ 000001442fdcebc0] deprecated pixel format used, make sure you did set range correctly ( that I do not understand )&#xA;Last message repeated 3 times&#xA;[mjpeg @ 00000144278b0d80] removing common factors from framerate&#xA;Output #0, image2, to 'C :\FilmProjList\TEST\TEST%04d.jpg' :&#xA;Metadata :&#xA;encoder : Lavf60.3.100&#xA;Stream #0:0 : Video : mjpeg, yuvj422p(pc, bt470bg/bt709/unknown, progressive), 1280x960, q=2-31, 200 kb/s, 10 fps, 10 tbn&#xA;Metadata :&#xA;encoder : Lavc60.3.100 mjpeg&#xA;Side data :&#xA;cpb : bitrate max/min/avg : 0/0/200000 buffer size : 0 vbv_delay : N/A&#xA;frame= 0 fps=0.0 q=3.6 size= 0kB time=00:00:00.00 bitrate=N/A speed=N/A
    &#xA;frame= 1 fps=0.0 q=3.6 Lsize=N/A time=00:00:00.00 bitrate=N/A speed= 0x
    &#xA;video:45kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : unknown

    &#xA;

    DefineImage 248 11.05.2023 17:53:23 ( test output from, the C# program)&#xA;Das Programm "[11724] Cine2Video.exe" wurde mit Code 0 (0x0) beendet.

    &#xA;

    &#xA;

    &#xA;

    Mit freundlichen Grüßen / Best regards&#xA;Ute & Wolfgang Kurz&#xA;Domaine : https://uwkurz.de ; Homepage : https://www.uwkurz.de/home&#xA;Location : 9° 11' 27,75" East, 48° 43' 32,80" North&#xA;E-Mail : wolfgang@uwkurz.de , ute@uwkurz.de&#xA;Gesendet über Glasfaser von HOMENET.de

    &#xA;

    &#xA;

  • Android ICS FFMPEG scale video not working

    20 avril 2015, par Android-Developer

    I am using Guardian Project Android Java FFMPEG library to resize videos. Current code which is working on android 5.0.1 / 5.1.0 / 4.4.4 :

       File fileTmp = getCacheDir();
       FfmpegController fc = null;
       try {
           fc = new FfmpegController(this, fileTmp);
       } catch (IOException e) {
           e.printStackTrace();
       }
       String path = Environment.getExternalStorageDirectory().getPath() + "/Movies/nexus.mp4";
       final String outPath = Environment.getExternalStorageDirectory().getPath() + "/Movies/test.mp4";
       final Clip out = new Clip(path);
       try {
           if (fc != null) {
               fc.convert(out, outPath, new ShellUtils.ShellCallback() {
                   @Override
                   public void shellOut(String shellLine) {
                       Log.e("", "SHELL OUT: " + shellLine);
                   }

                   @Override
                   public void processComplete(int exitValue) {
                       Log.e("", "PROCESS COMPLETE: " + exitValue);
                   }
               });
           }
       } catch (Exception e) {
           e.printStackTrace();
       }

    Using this code on Android 4.0.4 (Ice Cream Sandwich) doesn’t do anything. While testing on other devices exitValue in processComplete is always equal to 0, but on ICS it’s 11. Here is the output in LogCat :

    SHELL OUT: /data/data/org.hardartcore.ffmpeg/app_bin/ffmpeg -y -i /mnt/sdcard/Movies/NEXUS.mp4 -ab 160k -r ntsc-film -vf scale=568:320 -strict -2 /mnt/sdcard/Movies/Test.mp4
    PROCESS COMPLETE: 11

    I don’t think it’s something from ffmpeg, more like a problem when the library is trying to execute ffmpeg executable from raw folder in internal memory, but I can’t see any logs or errors which indicate that too.

    So my question is, if there is any mistake which I am doing using / running this code or something which can prevent ffmpeg executable from running on old devices with Android ICS ?

    Thanks in advance !