Recherche avancée

Médias (0)

Mot : - Tags -/utilisateurs

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

Autres articles (63)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

Sur d’autres sites (10241)

  • How can fix CalledProcessError : in ffmpeg

    7 décembre 2020, par Mario

    I hope someone can help to troubleshoot this problem. I'm trying to save the loss plots out of Keras in the form of the following animation.

    



    img

    



    but I have been facing the following error, and ultimately I can't save the animation :

    



    MovieWriter stderr:&#xA;[h264_v4l2m2m @ 0x55a67176f430] Could not find a valid device&#xA;[h264_v4l2m2m @ 0x55a67176f430] can&#x27;t configure encoder&#xA;Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height&#xA;&#xA;---------------------------------------------------------------------------&#xA;BrokenPipeError                           Traceback (most recent call last)&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in saving(self, fig, outfile, dpi, *args, **kwargs)&#xA;    229         try:&#xA;--> 230             yield self&#xA;    231         finally:&#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in save(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim, savefig_kwargs, progress_callback)&#xA;   1155                             frame_number &#x2B;= 1&#xA;-> 1156                     writer.grab_frame(**savefig_kwargs)&#xA;   1157 &#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in grab_frame(self, **savefig_kwargs)&#xA;    383         self.fig.savefig(self._frame_sink(), format=self.frame_format,&#xA;--> 384                          dpi=self.dpi, **savefig_kwargs)&#xA;    385 &#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/figure.py in savefig(self, fname, transparent, **kwargs)&#xA;   2179 &#xA;-> 2180         self.canvas.print_figure(fname, **kwargs)&#xA;   2181 &#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/backend_bases.py in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, **kwargs)&#xA;   2081                     bbox_inches_restore=_bbox_inches_restore,&#xA;-> 2082                     **kwargs)&#xA;   2083             finally:&#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/backends/backend_agg.py in print_raw(self, filename_or_obj, *args, **kwargs)&#xA;    445                 cbook.open_file_cm(filename_or_obj, "wb") as fh:&#xA;--> 446             fh.write(renderer._renderer.buffer_rgba())&#xA;    447 &#xA;&#xA;BrokenPipeError: [Errno 32] Broken pipe&#xA;&#xA;During handling of the above exception, another exception occurred:&#xA;&#xA;CalledProcessError                        Traceback (most recent call last)&#xA; in <module>&#xA;     17 print(f&#x27;{model_type.upper()} Train Time: {Timer} sec&#x27;)&#xA;     18 &#xA;---> 19 create_loss_animation(model_type, hist.history[&#x27;loss&#x27;], hist.history[&#x27;val_loss&#x27;], epoch)&#xA;     20 &#xA;     21 evaluate(model, trainX, trainY, testX, testY, scores_train, scores_test)&#xA;&#xA; in create_loss_animation(model_type, loss_hist, val_loss_hist, epoch)&#xA;     34 &#xA;     35     ani = matplotlib.animation.FuncAnimation(fig, animate, fargs=(l1, l2, loss, val_loss, title), repeat=True, interval=1000, repeat_delay=1000)&#xA;---> 36     ani.save(f&#x27;loss_animation_{model_type}_oneDataset.mp4&#x27;, writer=writer)&#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in save(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim, savefig_kwargs, progress_callback)&#xA;   1154                             progress_callback(frame_number, total_frames)&#xA;   1155                             frame_number &#x2B;= 1&#xA;-> 1156                     writer.grab_frame(**savefig_kwargs)&#xA;   1157 &#xA;   1158         # Reconnect signal for first draw if necessary&#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)&#xA;     97                 value = type()&#xA;     98             try:&#xA;---> 99                 self.gen.throw(type, value, traceback)&#xA;    100             except StopIteration as exc:&#xA;    101                 # Suppress StopIteration *unless* it&#x27;s the same exception that&#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in saving(self, fig, outfile, dpi, *args, **kwargs)&#xA;    230             yield self&#xA;    231         finally:&#xA;--> 232             self.finish()&#xA;    233 &#xA;    234 &#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in finish(self)&#xA;    365     def finish(self):&#xA;    366         &#x27;&#x27;&#x27;Finish any processing for writing the movie.&#x27;&#x27;&#x27;&#xA;--> 367         self.cleanup()&#xA;    368 &#xA;    369     def grab_frame(self, **savefig_kwargs):&#xA;&#xA;~/anaconda3/envs/CR7/lib/python3.6/site-packages/matplotlib/animation.py in cleanup(self)&#xA;    409         if self._proc.returncode:&#xA;    410             raise subprocess.CalledProcessError(&#xA;--> 411                 self._proc.returncode, self._proc.args, out, err)&#xA;    412 &#xA;    413     @classmethod&#xA;&#xA;CalledProcessError: Command &#x27;[&#x27;/usr/bin/ffmpeg&#x27;, &#x27;-f&#x27;, &#x27;rawvideo&#x27;, &#x27;-vcodec&#x27;, &#x27;rawvideo&#x27;, &#x27;-s&#x27;, &#x27;720x720&#x27;, &#x27;-pix_fmt&#x27;, &#xA;&#x27;rgba&#x27;, &#x27;-r&#x27;, &#x27;5&#x27;, &#x27;-loglevel&#x27;, &#x27;error&#x27;, &#x27;-i&#x27;, &#x27;pipe:&#x27;, &#x27;-vcodec&#x27;, &#x27;h264&#x27;, &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;, &#x27;-b&#x27;, &#x27;800k&#x27;, &#x27;-y&#x27;, &#xA;&#x27;loss_animation_CNN_oneDataset.mp4&#x27;]&#x27; returned non-zero exit status 1.&#xA;</module>

    &#xA;&#xA;

    I tried to ignore the error by this answer but it seems it's not the case. I also checked similar case but its answer for getting a static git binary is not my cas as well since not especial converting PNG to MP4 !

    &#xA;&#xA;

    My code is as follows :

    &#xA;&#xA;

    plt.rcParams[&#x27;animation.ffmpeg_path&#x27;] = &#x27;/usr/bin/ffmpeg&#x27;&#xA;&#xA;def animate(i, data1, data2, line1, line2):&#xA;    temp1 = data1.iloc[:int(i&#x2B;1)]&#xA;    temp2 = data2.iloc[:int(i&#x2B;1)]&#xA;&#xA;    line1.set_data(temp1.index, temp1.value)&#xA;    line2.set_data(temp2.index, temp2.value)&#xA;&#xA;    return (line1, line2)&#xA;&#xA;&#xA;def create_loss_animation(model_type, data1, data2):&#xA;    fig = plt.figure()&#xA;    plt.title(f&#x27;Loss on Train &amp; Test&#x27;, fontsize=25)&#xA;    plt.xlabel(&#x27;Epoch&#x27;, fontsize=20)&#xA;    plt.ylabel(&#x27;Loss MSE for Sx-Sy &amp; Sxy&#x27;, fontsize=20)&#xA;    plt.xlim(min(data1.index.min(), data2.index.min()), max(data1.index.max(), data2.index.max()))&#xA;    plt.ylim(min(data1.value.min(), data2.value.min()), max(data1.value.max(), data2.value.max()))&#xA;&#xA;    l1, = plt.plot([], [], &#x27;o-&#x27;, label=&#x27;Train Loss&#x27;, color=&#x27;b&#x27;, markevery=[-1])&#xA;    l2, = plt.plot([], [], &#x27;o-&#x27;, label=&#x27;Test Loss&#x27;, color=&#x27;r&#x27;, markevery=[-1])&#xA;    plt.legend(loc=&#x27;center right&#x27;, fontsize=&#x27;xx-large&#x27;)&#xA;&#xA;    Writer = animation.writers[&#x27;ffmpeg&#x27;]&#xA;    writer = Writer(fps=5, bitrate=1800)&#xA;&#xA;    ani = matplotlib.animation.FuncAnimation(fig, animate, fargs=(data1, data2, l1, l2), repeat=True, interval=1000, repeat_delay=1000)&#xA;    ani.save(f&#x27;{model_type}.mp4&#x27;, writer=writer)&#xA;&#xA;# create datasets&#xA;x = np.linspace(0,150,50)&#xA;y1 = 41*np.exp(-x/20)&#xA;y2 = 35*np.exp(-x/50)&#xA;&#xA;my_data_number_1 = pd.DataFrame({&#x27;x&#x27;:x, &#x27;value&#x27;:y1}).set_index(&#x27;x&#x27;)&#xA;my_data_number_2 = pd.DataFrame({&#x27;x&#x27;:x, &#x27;value&#x27;:y2}).set_index(&#x27;x&#x27;)&#xA;&#xA;create_loss_animation(&#x27;test&#x27;, my_data_number_1, my_data_number_2)&#xA;

    &#xA;

  • ffmpeg in C# (ScrCpy)

    23 janvier 2020, par RunicSheep

    I’m trying to access the screen of my android device like ScrCpy does (https://github.com/Genymobile/scrcpy) but in C#.
    What I’ve done so far is pushing the jar (server) to my device and receiving the input. (Device resolution etc.)
    But I can’t re implement the decoding process in c#, there has to be some sort of error so far.
    C# library used for ffmpeg is ffmpeg.AutoGen (https://github.com/Ruslan-B/FFmpeg.AutoGen)

    Here’s the decoding code :

       using System;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Net.Sockets;
    using System.Runtime.InteropServices;
    using System.Runtime.InteropServices.ComTypes;
    using System.Threading;
    using FFmpeg.AutoGen;

    namespace Source.Android.Scrcpy
    {
       public unsafe class Decoder
       {
           private const string LD_LIBRARY_PATH = "LD_LIBRARY_PATH";

           private AVFrame* _decodingFrame;
           private AVCodec* _codec;
           private AVCodecContext* _codec_ctx;
           private AVFormatContext* _format_ctx;

           public Decoder()
           {
               RegisterFFmpegBinaries();
               SetupLogging();

               this.InitFormatContext();
           }

           private void InitFormatContext()
           {
               _decodingFrame = ffmpeg.av_frame_alloc();
               _codec = ffmpeg.avcodec_find_decoder(AVCodecID.AV_CODEC_ID_H264);
               if (_codec== null)
               {
                   throw new Exception("H.264 decoder not found");// run_end;
               }

               _codec_ctx = ffmpeg.avcodec_alloc_context3(_codec);
               if (_codec_ctx == null)
               {
                   throw new Exception("Could not allocate decoder context"); //run_end
               }

               if (ffmpeg.avcodec_open2(_codec_ctx, _codec, null) &lt; 0)
               {
                   throw new Exception("Could not open H.264 codec");// run_finally_free_codec_ctx
               }

               _format_ctx = ffmpeg.avformat_alloc_context();
               if (_format_ctx == null)
               {
                   throw new Exception("Could not allocate format context");// run_finally_close_codec;
               }
           }

           private void RegisterFFmpegBinaries()
           {
               switch (Environment.OSVersion.Platform)
               {
                   case PlatformID.Win32NT:
                   case PlatformID.Win32S:
                   case PlatformID.Win32Windows:
                       var current = Environment.CurrentDirectory;
                       var probe = Path.Combine("FFmpeg", Environment.Is64BitProcess ? "x64" : "x86");
                       while (current != null)
                       {
                           var ffmpegDirectory = Path.Combine(current, probe);
                           if (Directory.Exists(ffmpegDirectory))
                           {
                               Console.WriteLine($"FFmpeg binaries found in: {ffmpegDirectory}");
                               RegisterLibrariesSearchPath(ffmpegDirectory);
                               return;
                           }
                           current = Directory.GetParent(current)?.FullName;
                       }
                       break;
                   case PlatformID.Unix:
                   case PlatformID.MacOSX:
                       var libraryPath = Environment.GetEnvironmentVariable(LD_LIBRARY_PATH);
                       RegisterLibrariesSearchPath(libraryPath);
                       break;
               }
           }
           private static void RegisterLibrariesSearchPath(string path)
           {
               switch (Environment.OSVersion.Platform)
               {
                   case PlatformID.Win32NT:
                   case PlatformID.Win32S:
                   case PlatformID.Win32Windows:
                       SetDllDirectory(path);
                       break;
                   case PlatformID.Unix:
                   case PlatformID.MacOSX:
                       string currentValue = Environment.GetEnvironmentVariable(LD_LIBRARY_PATH);
                       if (string.IsNullOrWhiteSpace(currentValue) == false &amp;&amp; currentValue.Contains(path) == false)
                       {
                           string newValue = currentValue + Path.PathSeparator + path;
                           Environment.SetEnvironmentVariable(LD_LIBRARY_PATH, newValue);
                       }
                       break;
               }
           }

           [DllImport("kernel32", SetLastError = true)]
           private static extern bool SetDllDirectory(string lpPathName);

           private AVPacket GetPacket()
           {
               var packet = ffmpeg.av_packet_alloc();
               ffmpeg.av_init_packet(packet);

               packet->data = null;
               packet->size = 0;

               return *packet;
           }

           private static int read_raw_packet(void* opaque, ushort* buffer, int bufSize)
           {
               var buffSize = 1024;
               var remaining = dt.Length - dtp - 1;
               var written = 0;
               for (var i = 0; i &lt; buffSize &amp;&amp; i+dtp &lt; dt.Length; i++)
               {
                   buffer[i] = dt[i+dtp];
                   written++;
               }

               dtp += written;

               if (written &lt;= 0)
               {
                   return ffmpeg.AVERROR_EOF;
               }

               return written;
           }

           [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
           public delegate int av_read_function_callback(void* opaque, ushort* endData, int bufSize);

           private static byte[] dt;
           private static int dtp;

           public Bitmap DecodeScrCpy(byte[] data)
           {
               if (data.Length == 0)
               {
                   return null;
               }

               byte* _buffer;
               ulong _bufferSize = 1024*2;
               _buffer = (byte*)ffmpeg.av_malloc(_bufferSize);
               if (_buffer == null)
               {
                   throw new Exception("Could not allocate buffer"); // run_finally_free_format_ctx;
               }

               fixed (byte* dataPtr = data)
               {
                   dt = data;
                   dtp = 0;
                   fixed (AVFormatContext** formatCtxPtr = &amp;_format_ctx)
                   {
                       var mReadCallbackFunc = new av_read_function_callback(read_raw_packet);
                       AVIOContext* avio_ctx = ffmpeg.avio_alloc_context(_buffer, (int)_bufferSize, 0, null, //TODO: IntPtr.Zero nutzen?
                           new avio_alloc_context_read_packet_func{Pointer = Marshal.GetFunctionPointerForDelegate(mReadCallbackFunc) },
                           null, null);
                       if (avio_ctx == null)
                       {
                           ffmpeg.av_free(dataPtr);
                           throw new Exception("Could not allocate avio context"); //goto run_finally_free_format_ctx;
                       }

                       _format_ctx->pb = avio_ctx;

                       if (ffmpeg.avformat_open_input(formatCtxPtr, null, null, null) &lt; 0)
                       {
                           throw new Exception("Could not open video stream"); // goto run_finally_free_avio_ctx;
                       }

                       var packet = GetPacket();

                       while (ffmpeg.av_read_frame(_format_ctx, &amp;packet) == 0)
                       {
                           if (ffmpeg.LIBAVDEVICE_VERSION_INT >= ffmpeg.AV_VERSION_INT(57, 37, 0))
                           {
                               int ret;
                               if ((ret = ffmpeg.avcodec_send_packet(_codec_ctx, &amp;packet)) &lt; 0)
                               {
                                   throw new Exception($"Could not send video packet: {ret}"); //goto run_quit
                               }

                               ret = ffmpeg.avcodec_receive_frame(_codec_ctx, _decodingFrame);
                               if (ret == 0)
                               {
                                   // a frame was received
                               }
                               else if (ret != ffmpeg.AVERROR(ffmpeg.EAGAIN))
                               {
                                   ffmpeg.av_packet_unref(&amp;packet);
                                   throw new Exception($"Could not receive video frame: {ret}"); //goto run_quit;
                               }
                           }
                       }
                   }
               }

               return null;
           }
       }
    }

    Entry is DecodeScrCpy with read data from network stream.
    Things I noticed :

    • read_raw_packet is called again after ffmpeg.AVERROR_EOF is returned
    • ffmpeg.avformat_open_input fails

    Question is, did I miss anything ?

  • Anomalie #4360 (Nouveau) : Message d’erreur au début de l’installation d’un site web SPIP par spip...

    13 juillet 2019, par Vincent ROBERT

    Sur Xampp avec Apache 2.4.39 (Win64) & PHP 7.2.19
    En initiant une nouvelle installation avec spiploader, j’ai le message d’erreur suivant :

    "Warning : Use of undefined constant _DIR_TMP - assumed ’_DIR_TMP’ (this will throw an Error in a future version of PHP) in C :\xampp\htdocs\news-test\pclzip.php on line 28"

    Ce message apparaît juste avant le début de l’installation, sur la page "Téléchargement de SPIP - !Le programme va télécharger les fichiers de SPIP à l’intérieur de ce répertoire."