Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (29)

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

  • Initialisation de MediaSPIP (préconfiguration)

    20 février 2010, par

    Lors de l’installation de MediaSPIP, celui-ci est préconfiguré pour les usages les plus fréquents.
    Cette préconfiguration est réalisée par un plugin activé par défaut et non désactivable appelé MediaSPIP Init.
    Ce plugin sert à préconfigurer de manière correcte chaque instance de MediaSPIP. Il doit donc être placé dans le dossier plugins-dist/ du site ou de la ferme pour être installé par défaut avant de pouvoir utiliser le site.
    Dans un premier temps il active ou désactive des options de SPIP qui ne le (...)

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

Sur d’autres sites (5879)

  • call ffmepg from apache php without full path

    14 février 2015, par ffmpeg fan

    I need a apache /php to recognize ffmpeg command without specifing the full bath of /usr/local/bin/ffmpeg

    calling ffmpeg from command line executes the program
    calling ffmpeg from php via web does not execute the program
    calling /usr/local/bin/ffmpeg from php via web does execute the program

    why :
    a php script calls youtube-dl (a compiled program) and executes ffmpeg internally

    thank you in advance -
    tried ffmpeg path :
    which ffmpeg
    /usr/local/bin/ffmpeg

    echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


    #php code for testing:
    $output = shell_exec('/usr/local/bin/ffmpeg 2>&1');
    echo "shell exec /usr/local/bin/ffmpeg <pre>$output</pre>";
    #Response:
    ffmpeg version 2.5.3 Copyright #(good)

    #Second php code for testing:
    $output = shell_exec('ffmpeg 2>&amp;1');
    echo "shell exec <pre>$output</pre>";
    #Response:
    sh: ffmpeg: command not found #(bad)
  • Sound in videos is full of static

    13 avril 2015, par banshee_walk_sly

    I’m trying to play sound from an FFMpegFrameGrabber by getting the Frame and sending the audio samples to a SourceDataLine. Here’s what I have so far :

    Creating the SourceDataLine :

    int channels = _grabber.getAudioChannels();
    int format = _grabber.getSampleFormat();
    AudioFormat fmt = new AudioFormat(_grabber.getSampleRate(), format, channels, true, true);
    _sourceDataLine=(SourceDataLine)AudioSystem.getLine(new DataLine.Info(SourceDataLine.class, fmt));
    _sourceDataLine.open(fmt);
    _sourceDataLine.start();

    Attempting to play sound (images are handled in the else block) :

    org.bytedeco.javacv.Frame f = _grabber.grabFrame();

    if (f.samples != null &amp;&amp; f.samples.length > 0)
    {
       byte[] bytes = new byte[4096];
       for (Buffer buffer : f.samples)
       {
           FloatBuffer floatBuffer = (FloatBuffer) buffer;
           ByteBuffer byteBuffer = ByteBuffer.allocate(floatBuffer.capacity() * 4);
           byteBuffer.asFloatBuffer().put(floatBuffer);
           byteBuffer.rewind();
           byteBuffer.get(bytes);
           _sourceDataLine.write(bytes, 0, bytes.length);
       }
    }

    (Note : I tried a few different versions of this and they all have static. The versions I tried included combining the buffers into one large buffer, only trying to play one sample instead of each channel, and changing the audio format to many different permutations.)

    The problem is the sound is full of static, and almost completely unintelligible. This is my first time doing any audio programming, so I’m sure I’m doing something completely ridiculous.

    I appreciate any help. Thank you.

    EDIT

    In response to Radiodef, I tried a number of AudioFormats, and I couldn’t find one that worked for PCM_FLOAT. I found an example that used this :

    fmt = new AudioFormat(AudioFormat.Encoding.PCM_FLOAT, _grabber.getSampleRate(), format, channels, channels, _grabber.getSampleRate(), true);

    Note : I tried a few different values for the framesize from examples : channels * format / 8, channels * 8 with a hardcoded samplerate of 64, channels * 4 with a hardcoded samplerate of 32, and any combinations of those

    But it give me this exception :

    java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format PCM_FLOAT 44100.0 Hz, 8 bit, stereo, 2 bytes/frame,  is supported.
       at javax.sound.sampled.AudioSystem.getLine(Unknown Source)
       at com.enplug.player.video.Video.<init>(Video.java:52) &lt;- where I get the SourceDataLine
       ...
    </init>

    EDIT 2

    Sorry for the delay. I appreciate all the help Radiodef.

    Here is some output from the FFMpegGrabber that is automatically output.

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Shawn\AppData\Roaming\Enplug Display\Download\Resource\c7cb496d-96ea-4be8-a238-5ffd50955a3e.mp4':
     Metadata:
       major_brand     : qt
       minor_version   : 0
       compatible_brands: qt
       creation_time   : 2014-10-02 07:14:38
     Duration: 00:00:31.13, start: 0.000000, bitrate: 2412 kb/s
       Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 246 kb/s (default)
       Metadata:
         creation_time   : 2014-10-02 07:14:38
         handler_name    : Core Media Data Handler
       Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 2157 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
       Metadata:
         creation_time   : 2014-10-02 07:14:38
         handler_name    : Core Media Data Handler
         encoder         : H.264

    I have two videos I’m testing with, and the first one (which is the one in the example above) has the following :

    Bit rate: 247 kbps
    Channels: 2 (stereo)
    Audio sample rate: 44 kHz

    And the second is :

    Bit rate: 161 kbps
    Channels: 2 (stereo)
    Audio sample rate: 48 kHz

    They’re both mp4s, and I can provide any details about the video itself if needed.

    As for the library, yeah I’m pretty locked into JavaCV. We already have videos running without sound, but we’re now trying to add sound to our program.

    When I run the sample program from your JSR link I get :

    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
    PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame,
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
    PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
  • How can I get matplotlib to show full subplots in an animation ?

    12 mars 2015, par Matt Stone

    I’m trying to write a simple immune system simulator. I’m modeling infected tissue as a simple grid of cells and various intracellular signals, and I’d like to animate movement of cells in one plot and the intensity of viral presence in another as the infection progresses. I’m doing so with the matshow function provided by matplotlib. However, when I plot the two next to each other, the full grid gets clipped unless I stretch out the window myself. I can’t address the problem at all when saving to an mp4.

    Here’s the default view, which is identical to what I observe when saving to mp4 :

    And here’s what it looks like after stretching out the viewer window

    I’m running Python 2.7.9 with matplotlib 1.4.2 on OS X 10.10.2, using ffmpeg 2.5.2 (installed via Homebrew). Below is the code I’m using to generate the animation. I tried using plt.tight_layout() but it didn’t affect the problem. If anyone has any advice as to how to solve this, I’d really appreciate it ! I’d especially like to be able to save it without viewing with plt.show(). Thanks !

    def animate(self, fname=None, frames=100):
       fig, (agent_ax, signal_ax) = plt.subplots(1, 2, sharey=True)

       agent_ax.set_ylim(0, self.grid.shape[0])
       agent_ax.set_xlim(0, self.grid.shape[1])
       signal_ax.set_ylim(0, self.grid.shape[0])
       signal_ax.set_xlim(0, self.grid.shape[1])

       agent_mat = agent_ax.matshow(self.display_grid(),
                                    vmin=0, vmax=10)
       signal_mat = signal_ax.matshow(self.signal_display(virus),
                                      vmin=0, vmax=20)
       fig.colorbar(signal_mat)

       def anim_update(tick):
           self.update()
           self.diffuse()
           agent_mat.set_data(self.display_grid())
           signal_mat.set_data(self.signal_display(virus))
           return agent_mat, signal_mat

       anim = animation.FuncAnimation(fig, anim_update, frames=frames,
                                      interval=3000, blit=False)

       if fname:
           anim.save(fname, fps=5, extra_args=['-vcodec', 'libx264'])
       else:
           plt.show()