Recherche avancée

Médias (1)

Mot : - Tags -/ogg

Autres articles (40)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (4319)

  • swscale : more accurate DITHER_COPY macro for full and limited range

    6 octobre 2017, par Mateusz
    swscale : more accurate DITHER_COPY macro for full and limited range
    

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libswscale/swscale_unscaled.c
    • [DH] tests/ref/vsynth/vsynth1-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth1-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth2-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth2-vc2-420p12
    • [DH] tests/ref/vsynth/vsynth3-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth_lena-ffvhuff420p12
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p10
    • [DH] tests/ref/vsynth/vsynth_lena-vc2-420p12
  • Sound in videos is full of static

    15 octobre 2017, par Shawn Blakesley

    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 to transcode flash movie to mp4, then upload to s3

    13 octobre 2017, par user1790300

    I am using the fluent-ffmpeg library with node.js to transcode videos originally in a flash movie format to the mp3 format with multiple resolutions, 1080p, etc.. Once the transcoding is complete, I would like to move the transcoded video to an s3 bucket.

    I pull the original .flv file from a source s3 bucket and pass the stream to the ffmpeg constructor function. The issue is after the transcoding completes, how do I then get the stream of the mp4 data to send to s3.

    Here is the code I have so far :

           var params = {
               Bucket: process.env.SOURCE_BUCKET,
               Key: fileName
           };
           s3.getObject(params, function(err, data) {
               if (err) console.log(err, err.stack); // an error occurred

               var format = ffmpeg(data)
               .size('854x480')
               .videoCodec('libx264')
               .format('flv')
               .toFormat('mp4');
               .on('end', function () {
                   //Ideally, I would like to do the uploading here

                   var params = {
                      Body: //{This is my confusion, how do I get the stream to add here?},
                      Bucket: process.env.TRANSCODED_BUCKET,
                      Key: fileName
                   };
                   s3.putObject(params, function (err, data) {

                  });
               })
               .on('error', function (err) {
                   console.log('an error happened: ' + err.message);
               });

           });

    For the code above, where can I get the transcoded stream to add to the "Body" property of the params object ?