Recherche avancée

Médias (91)

Autres articles (71)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (9161)

  • Flutter video_compress and then ffmpeg trim video to 30s fails with endless logs

    7 mars 2021, par Charles Bass

    I am trying to make a simple app in Flutter. A user can either take or pick a video and then upload it. However, I wanted to compress the video for storage purposes on firebase storage, and also trim it to only get the first 30 seconds.

    


    I am facing a very puzzling problem. I am able to compress the video, but with the resultant file, FFmpeg fails to trim it and I get endless logs which result in me having to stop the app and re-run. Alternatively, I am able to trim the video, but with the resultant file, I am unable to compress it getting the error :  Failed to open file '/data/user/0/live.roots.roots/app_flutter/TRIMMED.mp4'. (No such file or directory) PlatformException(error, java.io.IOException: Failed to instantiate extractor., null, java.lang.RuntimeException: java.io.IOException: Failed to instantiate extractor.

    


    This is my code below :

    


    

    

    //! function that controls file compression and trimming&#xA;static Future<file> compressFile(File file) async {&#xA;    print(&#x27;[COMPRESSING FILE]&#x27;);&#xA;&#xA;    String mimeStr = lookupMimeType(file.path);&#xA;    var fileType = mimeStr.split(&#x27;/&#x27;);&#xA;&#xA;    if (fileType.contains("image")) {&#xA;      print(&#x27;[COMPRESSING FILE] - file is image&#x27;);&#xA;      String tempPath = (await getTemporaryDirectory()).path;&#xA;      String targetPath = &#x27;$tempPath/${DateTime.now().toIso8601String()}.jpg&#x27;;&#xA;      return await compressImageAndGetFile(file, targetPath);&#xA;    } else {&#xA;      print(&#x27;[COMPRESSING FILE] - file is video&#x27;);&#xA;&#xA;      final compressedVideoFile = await compressVideoAndGetFile(file);&#xA;      print(&#x27;[VIDEO FILE COMPRESSED]&#x27;);&#xA;      return await trimVideoGetFile(compressedVideoFile);&#xA;    }&#xA;  }&#xA;  &#xA;  &#xA;//! function to compress video&#xA;static Future<file> compressVideoAndGetFile(File file) async {&#xA;    print(&#x27;[COMPRESSING VIDEO]&#x27;);&#xA;&#xA;    var result = await VideoCompress.compressVideo(&#xA;      file.absolute.path,&#xA;      quality: VideoQuality.DefaultQuality,&#xA;      deleteOrigin: true,&#xA;    );&#xA;&#xA;    print(&#x27;[COMPRESSED VIDEO TO]: ${result.file.path}&#x27;);&#xA;&#xA;    return result.file;&#xA;  }&#xA;  &#xA;//! function to trim video&#xA;static Future<file> trimVideoGetFile(File file) async {&#xA;    print(&#x27;[TRIMMING VIDEO]&#x27;);&#xA;&#xA;    Directory appDocumentDir = await getApplicationDocumentsDirectory();&#xA;    String rawDocumentPath = appDocumentDir.path;&#xA;    String outputPath = rawDocumentPath &#x2B; "/TRIMMED.mp4";&#xA;&#xA;    final newFile = File(outputPath);&#xA;&#xA;    if (await newFile.exists()) {&#xA;      await newFile.delete();&#xA;    }&#xA;&#xA;    _flutterFFmpeg&#xA;        .execute(&#xA;            "-ss 00:00:00 -i ${file.path} -to 00:00:30 -c copy $outputPath")&#xA;        .then((rt) async {&#xA;      print(&#x27;[TRIMMED VIDEO RESULT] : $rt&#x27;);&#xA;      if (rt == -1) {&#xA;        throw Exception("Something went wrong when trimming the video");&#xA;      }&#xA;    });&#xA;&#xA;    return File(outputPath);&#xA;  }</file></file></file>

    &#xD;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;&#xA;

    Thank you in advance

    &#xA;

  • Error with FFMPEG "av_interleaved_write_frame() broken pipe" While streaming in loop

    16 juin 2021, par Prateek Kalra

    Good Evening to all,

    &#xA;

    Please help i am having some issue with my ffmpeg

    &#xA;

        #! /bin/bash&#xA;&#xA;VBR="1500k"&#xA;FPS="30"&#xA;QUAL="fast"&#xA;&#xA;KEY="keyhere"&#xA;&#xA;&#xA;ffmpeg -re -stream_loop -1 -i /home/play/night.mp4 -deinterlace -c:v libx264 -b:v 2M -c:a copy -strict -2 -flags &#x2B;global_header -bsf:a aac_adtstoasc -bufsize 2100k -f flv rtmp://a.rtmp.you$KEY&#xA;

    &#xA;

    My issue is that first time steam work fine to YouTube but when video enters loop it ends with error

    &#xA;

    av_interleaved_write_frame(): Broken pipeB time=00:15:23.02 bitrate=1592.9kbits/s speed=0.959x&#xA;    Last message repeated 1 times&#xA;[flv @ 0x873b40] Failed to update header with correct duration.&#xA;[flv @ 0x873b40] Failed to update header with correct filesize.&#xA;

    &#xA;

    Please advice

    &#xA;

    Thank you so Much

    &#xA;

  • Get frames from a video into a matrix

    19 juin 2019, par Nephilim

    I’m currently trying to implement a compression algorithm(frame prediction) for an assignment. I am not looking for thumbnail files, or even just a shell command to generate something for me. My problem is specifically integrating it with a golang program.

    I just started and I’m already stuck. I’m supposed to get each frame out of a video,divide it into I P and B frames and perform inter-coding(compress the frame itself), then perform intra-coding(between the frames).

    Right now I cannot even get started on the above problems, because I have no idea how to read the video as something I could use in code. Apparently, the only library I can think of is ffmpeg. FFMPEG can get separate frames, apparently even i p and b frames.

    ffmpeg -i <inputfile> -vf '[in]select=eq(pict_type\,B)[out]' b.frames.mp4
    </inputfile>

    But this is just another video output, that I do not know how to open.
    What I was thinking of was outputting frames into bitmaps(?), then reading each bitmap separately, to reconstruct three 3D matrixes, of i frames, p frames and b frames. However this seems like quite a feat. Someone, somewhere has definitely tried to parse a video into a 3D matrix and has found a better solution than what I’m thinking of.

    To be concise, I have a video, I need a 3D matrix. The 3D matrix is a matrix of 2D matrixes, which represent a frame in the video. Each point in a 3D matrix is a pixel(or whatever the equivalent is in videos).

    3D matrix