Recherche avancée

Médias (3)

Mot : - Tags -/Valkaama

Autres articles (9)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Les thèmes de MediaSpip

    4 juin 2013

    3 thèmes sont proposés à l’origine par MédiaSPIP. L’utilisateur MédiaSPIP peut rajouter des thèmes selon ses besoins.
    Thèmes MediaSPIP
    3 thèmes ont été développés au départ pour MediaSPIP : * SPIPeo : thème par défaut de MédiaSPIP. Il met en avant la présentation du site et les documents média les plus récents ( le type de tri peut être modifié - titre, popularité, date) . * Arscenic : il s’agit du thème utilisé sur le site officiel du projet, constitué notamment d’un bandeau rouge en début de page. La structure (...)

  • Déploiements possibles

    31 janvier 2010, par

    Deux types de déploiements sont envisageable dépendant de deux aspects : La méthode d’installation envisagée (en standalone ou en ferme) ; Le nombre d’encodages journaliers et la fréquentation envisagés ;
    L’encodage de vidéos est un processus lourd consommant énormément de ressources système (CPU et RAM), il est nécessaire de prendre tout cela en considération. Ce système n’est donc possible que sur un ou plusieurs serveurs dédiés.
    Version mono serveur
    La version mono serveur consiste à n’utiliser qu’une (...)

Sur d’autres sites (2816)

  • How to save the stream URL chunks as a video in NodeJs

    2 octobre 2020, par Harsh Lodhi

    I'm trying to download a piece of video from the below URL using axios.

    


    https://r5---sn-gwpa-civy.googlevideo.com/videoplayback?...&range=32104-500230


    


    I'm using below code to fetch the above URL and for save the chunk to the mp4 file.

    


    axios({
        url: MY_URL`,
        method: 'GET',
        responseType: 'stream'
    }).then(function (response) {
        let buffArray = []
        response.data.on('data', (chunk) => {
            buffArray .push(chunk)
        })

        response.data.on('end', (chunk) => {
            let buff = Buffer.concat(buffArray)
            fs.writeFile('output.mp4', buff, (dt) => {
                console.log("File created");
            })
        })
    })


    


    above code is working fine and I'm able to save the video but the video is not able to play.
when I set the range in URL from &range=32104-500230 to &range=0-500230 then video is working properly. Please try to help that how can I save a video from small chunk of video stream instead of saving full video.

    


  • How to install Ffmpeg fluent in LAMBDA ?

    9 octobre 2020, par Jhony code

    Hi, can you help how did you set up the library (node-fluent-ffmpeg) in a lambda function correctly ?

    


    Because i already set up the :

    


      

    • Serverless file with it's layer parameters
    • 


    • Uploaded the binaries to the lambda function as a layer
    • 


    • Already set up the FFPROBE_PATH AND FFMPEG_PATH from the lambda function
    • 


    


    Also the weird thing is that : the lambda function just finish working, like sending a normal response.

    


    https://user-images.githubusercontent.com/35440957/95387637-ff99a580-08be-11eb-9fc9-1498aea2e2c1.png

    


    I mean also if you could show me step by step how did you make it work in a lambda function ?

    


    You will see the following example of how i have everything setup and it still does not work :

    


    1- This is from the lambda console

    


    https://user-images.githubusercontent.com/35440957/95386867-ee03ce00-08bd-11eb-91ae-29b45bd90471.png

    


    https://user-images.githubusercontent.com/35440957/95386217-f60f3e00-08bc-11eb-9fd8-b51d1b04a81e.png

    


    2- My json dependencies

    


     "dependencies": {
    "aws-sdk": "^2.764.0",
    "aws-serverless-express": "^3.3.8",
    "fluent-ffmpeg": "^2.1.2",
    "lambduh-execute": "^1.3.0"
  }


    


    3- My serverless file

    


    `service: functionName

provider:
  name: aws
  runtime: nodejs12.x
  memorySize: 3008
  timeout: 300
  stage: live
  region: us-east-1
  environment:
    FFMPEG_PATH: /opt/ffmpeg/ffmpeg
    FFPROBE_PATH: /opt/ffmpeg/ffprobe

functions:
  api:
    handler: lambda.handler
    events:
      - s3: ${self:custom.bucket}
    layers:
      - { Ref: FfmpegLambdaLayer }

layers:
  ffmpeg:
    path: layer

custom:
  bucket: buckename



    


    4- The directory of the layer

    


    https://user-images.githubusercontent.com/35440957/95386502-6918b480-08bd-11eb-95e6-1b0b78f3a230.png

    


    5- Javascript file

    


    
const fs = require("fs");
const AWS = require("aws-sdk");
const ffmpeg = require("fluent-ffmpeg");
const s3 = new AWS.S3();

exports.handler = async (event, context, callback) => {

ffmpeg({
        source: `**Object file which i already verified it exists**`
      })
        .on("filenames", async (filenames) => {
          console.log("Uploading please wait");
        })
        .on("error", function (err) {
          console.log("Error in filenames section: " + JSON.stringify(err));
        })
        .on("end", function () {
          console.log("Screenshots taken");
        })
        .screenshots({
          count: 10,
          folder: "tmp/",
          filename: "thumbnail-at-%i.png",
          size: "1600x900",
        })
        .on("end", function (stdout, stderr) {


        })
        .on("error", function (err) {
          console.log("Error writing video to disk: " + JSON.stringify(err));
          throw "An error: " + err.message;
        });

};



    


    Expected results

    


    The dependecy must work as expected in a AWS lambda function.

    


    Observed results

    


    When using enviroment variables

    


    https://user-images.githubusercontent.com/35440957/95548905-154cbf00-09d4-11eb-8f46-f06cd012b05b.png

    


    When not using enviroment variables

    


    Lambda function just finish it's job without showing any log (Error) messages
In the cloudwatch console it just show the log that lambda finished de function succesfully (Not the expected from the dependency)

    


    I already used this dependecy locally, and it works ! but in LAMBDA it is too hard

    


    Checklist

    


      

    • [ X] I have read the FAQ
    • 


    • [ X] I have included full stderr/stdout output from ffmpeg
    • 


    • [ X] I have included the binaries from the static build and deployed it to the lambda function
    • 


    • [ X] I have set the enviroment variables
FFMPEG_PATH : /opt/ffmpeg/ffmpeg
FFPROBE_PATH : /opt/ffmpeg/ffprobe
    • 


    


    Version information

    


      

    • fluent-ffmpeg version : ^2.1.2
    • 


    • ffmpeg version or build : ffmpeg-git-20190925-amd64-static.tar.xz
    • 


    • OS : Lambda (Linux enviroment) / Node 12.x
    • 


    


  • using FFMPEG with MediaStore Uri in Android Q

    9 octobre 2020, par user3697853

    I'm trying to convert MP4 which placed in MediaStore to GIF. with this library

    


    But, it does not seem to work with MediaStore Uri

    


    This is my code :

    


    fun convertToGif(fileUri: Uri): Boolean {
    var result = false
    val newFileName = fileUri.toString().substringAfterLast("/").substringBefore(".") + ".gif"

    val values = ContentValues()
    values.put(MediaStore.Images.Media.DISPLAY_NAME, newFileName)
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/gif")
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        values.put(MediaStore.Images.Media.IS_PENDING, 1)
    }
    val contentResolver: ContentResolver = context.contentResolver
    val newFileUri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)!!
    try {
        val pdf = contentResolver.openFileDescriptor(newFileUri, "w", null)
        if (pdf == null) {
            throw NullPointerException("ParcelFileDescriptor is Null")
        } else {
            val source = File(fileUri.toString())
            val destination = File(newFileUri.toString())
            val command = "-i $source $destination"
            result = when (FFmpeg.execute(command)) {
                Config.RETURN_CODE_SUCCESS -> {
                    Log.i(Config.TAG, "Command execution completed successfully.")
                    true
                }
                Config.RETURN_CODE_CANCEL -> {
                    Log.i(Config.TAG, "Command execution cancelled by user.")
                    false
                }
                else -> {
                    Log.i(
                        Config.TAG,
                        String.format("Command execution failed with rc=%d and the output below.", result)
                    )
                    Config.printLastCommandOutput(Log.INFO)
                    false
                }
            }
        }
    } catch (e: FileNotFoundException) {
        e.printStackTrace()
    } catch (e: IOException) {
        e.printStackTrace()
    }
    return result
}


    


    Is there any way I can solve this problem ?