Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (29)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (4400)

  • Unrecognized option 'crf'

    6 septembre 2022, par Arjit Kaushal

    I am trying compress video using ffmpeg but i am facing errors in the command.
Although it runs perfectly fine on my linux terminal.( ffmpeg -i input.avi -vcodec libx264 -crf 24 output.avi).

    


    my code :

    


    void _compress() {
        if (_videoModel == null) return;
        String inputPath = _videoModel!.originalCachePath;
        String outputPath = _videoModel!.editCachePath;
    
        FFmpegKit.execute("-i $inputPath -vcodec libx264 -crf 24 -y $outputPath")
            .then((session) async {
          final returnCode = await session.getReturnCode();
          if (ReturnCode.isSuccess(returnCode)) {
            Navigator.pushNamed(context, PreviewPage.routeName,
                arguments: _videoModel);
          } else if (ReturnCode.isCancel(returnCode)) {
            print("compress cancel");
          } else {
            print("compress error : $returnCode");
            FFmpegKitConfig.enableLogCallback((log){
              final message = log.getMessage();
              print(message);
            });
    
    
          }
        });
      }


    


    I am facing the following errors :
Unrecognized option 'crf',
I/flutter (31056) : Error splitting the argument list,
Option not found.

    


  • Saving an audio blob into the backend or Azure as an mp3 file using ffmpeg

    2 juin 2021, par Anne

    I have an asp.net webforms, and I am using javascript and navigator.mediaDevices.getUserMedia to record an audio message.
This message has to be loaded into Azure once recorded.

    


    So far, I have :
2 buttons, start and stop to record the audio blob

    


    At the end of the process, I am trying to use ffmpeg to record the blob into a folder in my application, I can then load the file into Azure (I have the code ready for this one).
Or ideally, save directly to Azure.

    


    I have installed ffmpeg in my application using nuget packages (I tried Xabe ffmpeg downloader and Accord video ffmpeg), however ffmpeg is not recognised when I run the function SendData() and I get this error :
Uncaught Error : Module name "ffmpeg" has not been loaded yet for context : _. Use require([])

    


    My questions are :

    


      

    • How can I install ffmpeg in an asp.net wbeform and register it on the page ?
    • 


    • Is there another way to save an audio blob to Azure ?
    • 


    • Is it possible to save the audio chunks into a memory stream that I can later upload into Azure ?
    • 


    


    Thank you for your help

    


    

    

        <code class="echappe-js">&lt;script&gt;&amp;#xA;        navigator.mediaDevices.getUserMedia({ audio: true }).then(stream =&gt; { handlerFunction(stream) })&amp;#xA;&amp;#xA;        record.onclick = e =&gt; {&amp;#xA;            record.disabled = true;&amp;#xA;            stopRecord.disabled = false;&amp;#xA;            audioChunks = [];&amp;#xA;            rec.start();&amp;#xA;        }&amp;#xA;&amp;#xA;        stopRecord.onclick = e =&gt; {&amp;#xA;            record.disabled = false;&amp;#xA;            stop.disabled = true;&amp;#xA;            rec.stop();&amp;#xA;        }&amp;#xA;&amp;#xA;&amp;#xA;        function handlerFunction(stream) {&amp;#xA;            rec = new MediaRecorder(stream);&amp;#xA;            rec.ondataavailable = e =&gt; {audioChunks.push(e.data);&amp;#xA;                if (rec.state == &quot;inactive&quot;) {&amp;#xA;                    let blob = new Blob(audioChunks, { type: &amp;#x27;audio/mpeg-3&amp;#x27; });&amp;#xA;                    recordedAudio.src = URL.createObjectURL(blob);&amp;#xA;                    recordedAudio.controls = true;&amp;#xA;                    sendData(blob)&amp;#xA;                }&amp;#xA;            }&amp;#xA;        }&amp;#xA;&amp;#xA;        function sendData(data) {&amp;#xA;            var ffmepg = require(&quot;ffmpeg&quot;);&amp;#xA;            try {&amp;#xA;                var Path = data;&amp;#xA;                var process = new ffmepg(&quot;Path&quot;);&amp;#xA;                process.then(function (audio) {audio.fnExtractSoundToMP3(&quot;~//AppData//Audio//test.mp3&quot;, function (error, file) {&amp;#xA;                        if (!error)&amp;#xA;                            console.log(&quot;Audio file: &quot; &amp;#x2B; file);&amp;#xA;                    });&amp;#xA;                }, function (err) {&amp;#xA;                    console.log(&quot;Error: &quot; &amp;#x2B; err);&amp;#xA;                });&amp;#xA;            }&amp;#xA;            catch (e) {&amp;#xA;                console.log(&quot;Catch e.code&quot; &amp;#x2B; e.code);&amp;#xA;                console.log(&quot;Catch e.msg&quot; &amp;#x2B; e.msg);&amp;#xA;            }&amp;#xA;        }&amp;#xA;    &lt;/script&gt;&#xA;&#xA;    &lt;script src=&quot;https://code.jquery.com/jquery-2.2.0.min.js&quot;&gt;&lt;/script&gt;&#xA;    &lt;script src=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js&quot;&gt;&lt;/script&gt;

    &#xD;&#xA;

    &#xA;&#xA;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    <code class="echappe-js">&lt;script src='http://stackoverflow.com/Scripts/require.js'&gt;&lt;/script&gt;&#xA;&#xA;&#xA;&#xA;    
    Record

    &#xA;

    &#xA;

    &#xA;

    &#xA;

    &#xA;

    &#xA; &#xA;

    &#xA;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;

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

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