Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (82)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • 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 ;

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

Sur d’autres sites (10885)

  • Heroku ffmpeg buildpack

    20 octobre 2015, par Manuel Quintanilla

    Putting together the video upload section in my rails app and am having some issues with video play on mobile phones. Im using

    paperclip-av-transcoder, s3 and  Heroku

    On my laptop I can visit the page and see the video thumbnails and play the videos only because I have previously installed ffmpeg to my machine.

    Remotely on Heroku I’ve set the appropriate buildpacks for ffmpeg and have run push heroku master to install the buildpacks - Now when I visit the page on my mobile iPhone I don’t get a thumbnail but when I play the video it plays - on the other hand when I visit the page on my Android phone I don’t get a thumbnail and the video dose not play but I can upload mp4s on Android.

    Check out my set up here : Heroku ffmpeg buildpacks for video uploads

    It seems I don’t have the proper buildpack setup or some other heroku setting with ffmpeg.

    Any suggestions ? Thanks in advance !

  • AVAssetWriter creating mp4 with no sound in last 50msec

    12 août 2015, par Joseph K

    I’m working on a project involving live streaming from the iPhone’s camera.

    To minimize loss during AVAssetWriter finishWriting, I use an array of 2 asset writers and swap them whenever I need to create an mp4 fragment out of the recorded buffers.

    Code responsible for capturing Audio & Video sample buffers

    func captureOutput(captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!) {

       if CMSampleBufferDataIsReady(sampleBuffer) &lt;= 0 {
               println("Skipped sample because it was not ready")
               return
           }

       if captureOutput == audioOutput  {

           if audioWriterBuffers[0].readyForMoreMediaData() {
               if !writers[0].appendAudio(sampleBuffer) { println("Failed to append: \(recordingPackages[0].name). Error: \(recordingPackages[0].outputWriter.error.localizedDescription)") }
               else {
                   writtenAudioFrames++

                   if writtenAudioFrames == framesPerFragment {
                       writeFragment()
                   }
               }
           }
           else {
               println("Skipped audio sample; it is not ready.")
           }
       }

       else if captureOutput == videoOutput {
           //Video sample buffer
           if videoWriterBuffers[0].readyForMoreMediaData() {
               //Call startSessionAtSourceTime if needed
               //Append sample buffer with a source time
           }
       }
    }

    Code responsible for the writing and swapping

    func writeFragment() {
       writtenAudioFrames = 0

       swap(&amp;writers[0], &amp;writers[1])
       if !writers[0].startWriting() {println( "Failed to start OTHER writer writing") }
       else { startTime  = CFAbsoluteTimeGetCurrent() }

       audioWriterBuffers[0].markAsFinished()
       videoWriterBuffers[0].markAsFinished()

       writers[1].outputWriter.finishWritingWithCompletionHandler { () -> Void in
           println("Finish Package record Writing, now Resetting")
           //
           // Handle written MP4 fragment code
           //

           //Reset Writer
           //Basically reallocate it as a new AVAssetWriter with a given URL and MPEG4 file Type and add inputs to it
           self.resetWriter()
       }

    The issue at hand

    The written MP4 fragments are being sent over to a local sandbox server to be analyzed.

    When MP4 fragments are stitched together using FFMpeg, there is a noticeable glitch in sound due to the fact that there is not audio at the last 50msec of every fragment.

    My audio AVAssetWriterInput’s settings are the following :

    static let audioSettings: [NSObject : AnyObject]! =
    [
       AVFormatIDKey : NSNumber(integer: kAudioFormatMPEG4AAC),
       AVNumberOfChannelsKey : NSNumber(integer: 1),
       AVSampleRateKey : NSNumber(int: 44100),
       AVEncoderBitRateKey : NSNumber(int: 64000),
    ]

    As such, I encode 44 audio sample buffers every second. They are all being successfully appended.

    Further resources

    Here’s a waveform display of the audio stream after concatenating the mp4 fragments

    Waveform of audio stream

     !! Note that my fragments are about 2secs in length.
     !! Note that I’m focusing on audio since video frames are extremely smooth when jumping from one fragment to another.

    Any idea as to what is causing this ? I can provide further code or info if needed.

  • Encoding video settings with Transloadit and FFMPEG

    2 octobre 2015, par David Soler

    I’m using Transloadit to convert and compress videos from .mov to .ts format. I’m using the json templates but unfortunately the docs are not too extensive. The thing is the quality I’m getting rigth now is very poor and pixeled. If I do it through console with ffmpeg command and including some parameters as crf (Constant Rate Factor) the quality gets a lot better but I dont know how edit it in transloadit template to get the same result.

    This is the ffmpeg command I’m using to convert the video in console

    ./ffmpeg -i ../canales.mov -c:v libx264 -crf 23 -bsf:a aac_adtstoasc output.ts

    And this is the json template I’m using right now. I guess I should add parameters to ffmpeg hash but I don’t know which settings are allowed

    {
     "steps": {
       "file": {
         "robot": "/file/filter",
         "accepts": [
           [
             "${file.mime}",
             "regex",
             "video"
           ]
         ],
         "declines": [
           [
             "${file.size}",
             ">",
             "10485760"
           ],
           [
             "${file.meta.duration}",
             ">",
             "16"
           ]
         ],
         "error_on_decline": true
       },
       "segments": {
         "robot": "/video/encode",
         "preset": "iphone-high",
         "width": 1242,
         "height": 2208,
         "use": "file",
         "segment": true,
         "segment_duration": 10,
         "ffmpeg_stack": "v2.2.3",
         "ffmpeg": {
           "b": "1200K",
           "crf": 23
         }
       },
       "thumb": {
         "robot": "/video/thumbs",
         "use": "file",
         "count": 1
       },
       "store": {
         "robot": "/s3/store",
         "use": [
           "segments",
           "thumb"
         ],
         "key": "key",
         "secret": "Secret",
         "bucket": "bucket"
       }
     }
    }