Recherche avancée

Médias (91)

Autres articles (51)

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

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (7998)

  • PHP-FFMPEG Waveform is not clean, is it a bug ?

    6 février 2024, par Maxi

    I made a waveform through sample code :

    


    $waveform = $audio->waveform(2000, 500, array('#FFA500'));
$waveform->save('waveform.png');


    


    But result has some noise in top & bottom of edges.
How can make it better ?

    


    PHP-FFMpeg : 23 | FFMpeg : 2023-02-27-git-891ed24f77 (Win X64) | PHP : 8.3

    


  • ffmpeg :how to apply animation in multiple images

    2 mars 2023, par Pavan Ghanate

    I am trying to merge number of selected images from gallery to a video template in order to make video status or short video in a android app, I am able to merge the selected images in the video using below cammand now i want to add animation

    


     ArrayList<string> cmd2 = new ArrayList&lt;>();&#xA;    cmd2.add("-y");&#xA;    cmd2.add("-i");&#xA;    if (video_temp_path!= null){&#xA;        cmd2.add(video_temp_path);&#xA;    }else {&#xA;        cmd2.add(Environment.getExternalStorageDirectory().getPath()&#xA;                &#x2B; "/Download/happy.mp4");&#xA;    }&#xA;&#xA;&#xA;    for (int no = 0; no &lt; paths.length; no&#x2B;&#x2B;) {&#xA;        cmd2.add("-i");&#xA;&#xA;        cmd2.add(paths[no]);&#xA;&#xA;    }&#xA;&#xA;    cmd2.add("-filter_complex");&#xA;&#xA;&#xA;&#xA;    cmd2.add("[0][1]overlay=x=100:y=200:enable=&#x27;between(t,3,8)&#x27;[v1];" &#x2B;&#xA;            "[v1][2]overlay=x=100:y=200:enable=&#x27;between(t,10,15)&#x27;[v2];" &#x2B;&#xA;            "[v2][3]overlay=x=100:y=200:enable=&#x27;gt(t,17)&#x27;[v3]");&#xA;    cmd2.add("-map");&#xA;    cmd2.add("[v3]");&#xA;    cmd2.add("-map");&#xA;    cmd2.add( "0:a");&#xA;    cmd2.add(Environment.getExternalStorageDirectory().getPath()&#xA;            &#x2B; "/Download/output.mp4");&#xA;</string>

    &#xA;

    but now i want to add fade in out animation to images so I am using this cammand generated by chatgpt but its giving me error

    &#xA;

      ArrayList<string> cmd2 = new ArrayList&lt;>();&#xA;   cmd2.add("-y");&#xA;   cmd2.add("-i");&#xA;&#xA;   if (video_temp_path != null) {&#xA;    cmd2.add(video_temp_path);&#xA;  } else {&#xA;    cmd2.add(Environment.getExternalStorageDirectory().getPath() &#x2B;&#xA;            "/Download/happy.mp4");&#xA;}&#xA;&#xA;for (int no = 0; no &lt; paths.length; no&#x2B;&#x2B;) {&#xA;    cmd2.add("-loop");&#xA;    cmd2.add("1"); // loop the image&#xA;&#xA;    cmd2.add("-t");&#xA;    cmd2.add("5"); // duration of the image&#xA;&#xA;    cmd2.add("-i");&#xA;    cmd2.add(paths[no]);&#xA;&#xA;    cmd2.add("-filter_complex");&#xA;    cmd2.add("[1:v]fade=in:st=0:d=1[tin];" &#x2B;&#xA;            "[1:v]fade=out:st=4:d=1[tout];" &#x2B;&#xA;            "[0:v][tin]overlay=x=100:y=200" &#x2B;&#xA;            "[v1];" &#x2B;&#xA;            "[v1][tout]overlay=x=100:y=200:enable=&#x27;between(t,10,15)&#x27;[v2];" &#x2B;&#xA;            "[v2][2:v]overlay=x=100:y=200:enable=&#x27;gt(t,17)&#x27;[v3]");&#xA;&#xA;    cmd2.add("-map");&#xA;    cmd2.add("[v3]");&#xA;    cmd2.add("-map");&#xA;    cmd2.add("0:a");&#xA;}&#xA;&#xA;cmd2.add(Environment.getExternalStorageDirectory().getPath() &#x2B;&#xA;        "/Download/output.mp4");&#xA;</string>

    &#xA;

    error is

    &#xA;

     Option map (set input stream mapping) cannot be applied to input url /storage/emulated/0/Pictures/temp/1677570327312.jpg -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.&#xA;

    &#xA;

    2023-03-01 12:50:50.707 5950-6326/com.android.mergevideo E/mobile-ffmpeg : Error parsing options for input file /storage/emulated/0/Pictures/temp/1677570327312.jpg.&#xA;2023-03-01 12:50:50.707 5950-6326/com.android.mergevideo E/mobile-ffmpeg : Error opening input files :&#xA;2023-03-01 12:50:50.707 5950-6326/com.android.mergevideo E/mobile-ffmpeg : Invalid argument

    &#xA;

  • how to get 120fps encoded video to play at "normal" speed instead of slow mo

    1er mars 2023, par Patrick Vellia

    I used my GoPro Hero10 to record at 4k 120fps on a green screen. This original video plays slo-mo in QuickTime but "normal" speed in the browser. I want it playing normal speed, and if end user wants to slow it down they have the extra frames for that to maintain clarity, which is why I record at 120.

    &#xA;

    I then used FFMPEG to create an image sequence of the video.

    &#xA;

    Then I ran Image Magic to create the transparent frames.

    &#xA;

    Then I put it back together with the following command for a HEVC mov file :

    &#xA;

    ffmpeg -r 120 -f image2 -i transparent/image_transparent_%08d.png -vcodec hevc_videotoolbox -crf 28 -alpha_quality 1  -tag:v hvc1 output.mov&#xA;

    &#xA;

    I am still on an Intel MacBook Pro running FFMPEG 4.6 (as I've found 5+ was buggy with one of my commands a few months ago but can't remember which one, I think it was the videotoolbox).

    &#xA;

    The GoPro video has the following stream data as input to the FFMPEG :

    &#xA;

    Duration: 00:00:08.15, start: 0.000000, bitrate: 60160 kb/s&#xA;  Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 59891 kb/s, 119.88 fps, 119.88 tbr, 120k tbn, 119.88 tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2023-02-28T19:06:41.000000Z&#xA;      handler_name    : GoPro H.265&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : GoPro H.265 encoder&#xA;      timecode        : 19:05:32:105&#xA;  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2023-02-28T19:06:41.000000Z&#xA;      handler_name    : GoPro AAC  &#xA;      vendor_id       : [0][0][0][0]&#xA;      timecode        : 19:05:32:105&#xA;  Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2023-02-28T19:06:41.000000Z&#xA;      handler_name    : GoPro TCD  &#xA;      timecode        : 19:05:32:105&#xA;  Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 76 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2023-02-28T19:06:41.000000Z&#xA;      handler_name    : GoPro MET  &#xA;

    &#xA;

    Whereas the re-constructed video has the following data :

    &#xA;

    Duration: 00:00:08.13, start: 0.000000, bitrate: 763650 kb/s&#xA;  Stream #0:0: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 763696 kb/s, 120 fps, 120 tbr, 15360 tbn, 15360 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;      vendor_id       : FFMP&#xA;      encoder         : Lavc58.134.100 hevc_videotoolbo&#xA;

    &#xA;

    When this re-constructed video plays in the browser, it is in slow-mo and I need to set the playbackRate to 4.0 for it to play "normally".

    &#xA;

    Is there something I need to add to the video for the browser to play it at "normal" speed ?

    &#xA;

    EDIT

    &#xA;

    I just compared the two video streams :

    &#xA;

    original:&#xA;Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 59891 kb/s, 119.88 fps, 119.88 tbr, 120k tbn, 119.88 tbc (default)&#xA;&#xA;Reconstructed:&#xA; Stream #0:0: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 763696 kb/s, 120 fps, 120 tbr, 15360 tbn, 15360 tbc (default)&#xA;

    &#xA;

    I don't quit understand all of this though. so here's what I notice :

    &#xA;

    original.         reconstructed&#xA;--------------------------------&#xA;bt709             progressive&#xA;89871 kb/s.       763696 kb/s&#xA;119.88 fps.       120 fps&#xA;119.88 tbr.       120 tbr&#xA;120k tbr.         15360 tbr&#xA;11960 tbr.        15360 tbc&#xA;

    &#xA;

    Hmm. I suspect it has something to do with tbr and tbc whatever those are, or perhaps the progressive vs the bt709 ? the pirates are also vastly different.

    &#xA;