Recherche avancée

Médias (91)

Autres articles (19)

  • 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

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

Sur d’autres sites (3638)

  • avcodec/escape124 : Do not return random numbers

    16 septembre 2023, par Michael Niedermayer
    avcodec/escape124 : Do not return random numbers
    

    Fixes : out of array access
    Fixes : 62164/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ESCAPE124_fuzzer-6035022714634240
    Fixes : 62164/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ESCAPE124_fuzzer-6422176201572352

    Found-by : continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/escape124.c
  • lavc/mpeg4videodec : do not invent a framerate from guessed numbers

    1er octobre 2023, par Anton Khirnov
    lavc/mpeg4videodec : do not invent a framerate from guessed numbers
    

    Improves timestamps for fate-m4v*

    • [DH] libavcodec/mpeg4videodec.c
    • [DH] tests/ref/fate/m4v
    • [DH] tests/ref/fate/m4v-cfr
  • How to convert n numbers of images into a video slideshow with putting some transition on each images with flutter_ffmpeg ?

    26 avril 2023, par Shruti Ramnandan Sharma

    I'm trying to convert images into a video slideshow with some transition. I have used flutter_ffmpeg plugin , with this plugin I have created with only 3 images but I want to add n numbers of images but couldn't able to find solutions for it. I tried to add more images but it throws error.

    &#xA;

    I'm gonna add some piece of code below :

    &#xA;

      &#xA;
    1. Instance of FlutterFFmpeg
    2. &#xA;

    &#xA;

      final FlutterFFmpeg _flutterFFmpeg = FlutterFFmpeg(); &#xA;

    &#xA;

      &#xA;
    1. Picking multiple images from the gallery and applying command to convert images into a video
    2. &#xA;

    &#xA;

    void mergeImageVideo() async {&#xA;    final ImagePicker picker = ImagePicker();&#xA;    final images = await picker.pickMultiImage();&#xA;&#xA;    var im1 = images[0].path;&#xA;&#xA;    var im2 = images[1].path;&#xA;&#xA;    var im3 = images[2].path;&#xA;&#xA;   //-shortest&#xA;    openLoadingDialog(context, "Creating video");&#xA;    generateFilePath("ImageVideoMerge").then((outputFile) {&#xA;      var backgroundColor = &#x27;FFF44336&#x27;;&#xA;&#xA;      String ffmpegCommand = VideoUtil.generateImagesToVideoScript(&#xA;          im1, im2, im3, outputFile, &#x27;mpeg4&#x27;, &#x27;&#x27;, backgroundColor);&#xA;&#xA;      print("ffmpegCommand==> $ffmpegCommand");&#xA;      _flutterFFmpeg.execute(ffmpegCommand).then((v) {&#xA;        if (v == 0) {&#xA;          var file = File(outputFile);&#xA;          Navigator.pop(context);&#xA;          showSnackBar(context, "Images Added Successfully", Colors.black);&#xA;          updateVideoPlayer(file);&#xA;        } else {&#xA;          Navigator.pop(context);&#xA;        }&#xA;      }).then((executionId) {&#xA;      });&#xA;    });&#xA;  }&#xA;&#xA;

    &#xA;

    method to get ffmpeg command (images into video with scale transition)

    &#xA;

    static String generateImagesToVideoScript(&#xA;      String image1Path,&#xA;      String image2Path,&#xA;      String image3Path,&#xA;      String videoFilePath,&#xA;      String videoCodec,&#xA;      String customOptions,&#xA;      String backgroundColor&#xA;      ) {&#xA;&#xA;    // ignore: prefer_interpolation_to_compose_strings&#xA;     return "-hide_banner -y -loop 1 -i &#x27;" &#x2B;&#xA;        image1Path &#x2B;&#xA;        "&#x27; " &#x2B;&#xA;        "-loop   1 -i \"" &#x2B;&#xA;        image2Path &#x2B;&#xA;        "\" " &#x2B;&#xA;        "-loop 1   -i \"" &#x2B;&#xA;        image3Path &#x2B;&#xA;        "\" " &#x2B;&#xA;        "-filter_complex " &#x2B;&#xA;        "\" " &#x2B;&#xA;        "[0:v]setpts=PTS-STARTPTS,scale=w=640:h=424,setsar=sar=1/1,split=2[stream1out1][stream1out2];" &#x2B;&#xA;        "[1:v]setpts=PTS-STARTPTS,scale=w=640:h=424,setsar=sar=1/1,split=2[stream2out1][stream2out2];" &#x2B;&#xA;        "[2:v]setpts=PTS-STARTPTS,scale=w=640:h=424,setsar=sar=1/1,split=2[stream3out1][stream3out2];" &#x2B;&#xA;        "[stream1out1]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=3,select=lte(n\\,90)[stream1overlaid];" &#x2B;&#xA;        "[stream1out2]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=1,select=lte(n\\,30)[stream1ending];" &#x2B;&#xA;        "[stream2out1]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=2,select=lte(n\\,60)[stream2overlaid];" &#x2B;&#xA;        "[stream2out2]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=1,select=lte(n\\,30),split=2[stream2starting][stream2ending];" &#x2B;&#xA;        "[stream3out1]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=2,select=lte(n\\,60)[stream3overlaid];" &#x2B;&#xA;        "[stream3out2]pad=width=640:height=427:x=(640-iw)/2:y=(427-ih)/2:color=#$backgroundColor,trim=duration=1,select=lte(n\\,30)[stream3starting];" &#x2B;&#xA;        "[stream2starting][stream1ending]blend=all_expr=&#x27;if(gte(X,(W/2)*T/1)*lte(X,W-(W/2)*T/1),B,A)&#x27;:shortest=1[stream2blended];" &#x2B;&#xA;        "[stream3starting][stream2ending]blend=all_expr=&#x27;if(gte(X,(W/2)*T/1)*lte(X,W-(W/2)*T/1),B,A)&#x27;:shortest=1[stream3blended];" &#x2B;&#xA;        "[stream1overlaid][stream2blended][stream2overlaid][stream3blended][stream3overlaid]concat=n=5:v=1:a=0,scale=w=640:h=424,format=yuv420p[video]\"" &#x2B;&#xA;        " -map [video] -vsync 2 -async 1 " &#x2B;&#xA;        customOptions &#x2B;&#xA;        "-c:v " &#x2B;&#xA;        videoCodec &#x2B;&#xA;        " -r 30 " &#x2B;&#xA;        videoFilePath;&#xA;  }&#xA;&#xA;

    &#xA;