Recherche avancée

Médias (33)

Mot : - Tags -/creative commons

Autres articles (99)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

Sur d’autres sites (11162)

  • avfilter/scale* : add option reset_sar

    31 janvier, par Gyan Doshi
    avfilter/scale* : add option reset_sar
    

    For anamorphic videos, enabling this option leads to adjustment of
    output dimensions to obtain square pixels when the user requests
    proportional scaling through either of the w/h expressions or
    force_original_aspect_ratio.

    Output SAR is always reset to 1.

    Option added to scale, scale_cuda, scale_npp & scale_vaapi.

    libplacebo already has a similar option with different semantics,
    scale_vt and scale_vulkan don't implement force_oar, so for these
    three filters, I've made minimal changes needed to not break building
    or change output.

    • [DH] doc/filters.texi
    • [DH] libavfilter/scale_eval.c
    • [DH] libavfilter/scale_eval.h
    • [DH] libavfilter/vf_libplacebo.c
    • [DH] libavfilter/vf_scale.c
    • [DH] libavfilter/vf_scale_cuda.c
    • [DH] libavfilter/vf_scale_npp.c
    • [DH] libavfilter/vf_scale_vaapi.c
    • [DH] libavfilter/vf_scale_vt.c
    • [DH] libavfilter/vf_scale_vulkan.c
  • In ffmpeg : Can't get peak bitrate values within 10% error tolerance for HLS playlist files

    5 octobre 2019, par ALS20394

    I’m using ffmpeg to produce several HLS variant playlists from an .mp4 file. When I check master.m3u8 file with mediastreamvalidator I get :

    Error : Measured peak bitrate compared to master playlist declared value exceeds error tolerance

    I understand that the error percentage needs to be less than 10%, and figured it out on 1 variant but not the three others. I’ve spent quite a bit of time adjusting the -maxrate and the -buffsize but the error percentage change is minimal. Beginning to wonder if I’m misunderstanding something ?

    This is the latest of what I enter :

    ffmpeg -i FHVid.mp4 \
    -b:v:0 5000k -maxrate 5250k -bufsize 5500k -profile:v main -c:v h264 -crf 20 -sc_threshold 0 -g 48 \
    -b:v:1 2800k -maxrate 2940k -bufsize 3100k -profile:v main -c:v h264 -crf 20 -sc_threshold 0 -g 48 \
    -b:v:2 1400k -maxrate 1540k -bufsize 1700k -profile:v main -c:v h264 -crf 20 -sc_threshold 0 -g 48 \
    -b:v:3 800k -maxrate 840k -bufsize 1050k -profile:v main -c:v h264 -crf 20 -sc_threshold 0 -g 48 \
    -b:a:0 192k \
    -b:a:1 128k \
    -b:a:2 128k \
    -b:a:3 96k \
    -c:a aac -ar 48000 -keyint_min 48 -map 0:v -map 0:a -map 0:v -map 0:a -map 0:v -map 0:a -map 0:v -map 0:a \
    -f hls -var_stream_map "v:0,a:0  v:1,a:1 v:2,a:2 v:3,a:3" \
    -master_pl_name FHVidmaster.m3u8 -hls_time 4 -hls_playlist_type vod \
    -hls_segment_filename 'file_%v_%03d.ts' out_%v.m3u8

    but I’ve also tried max rates that seem to be more standard

    -b:v:0 5000k -maxrate 5500k -bufsize 6500k
    -b:v:1 2800k -maxrate 3080k -bufsize 3200k
    -b:v:2 1400k -maxrate 1540k -bufsize 1900k
    -b:v:3 800k -maxrate 880k -bufsize 1050k

    The latest error message :

    Error: Measured peak bitrate compared to master playlist declared value exceeds error tolerance
    --> Detail:  Measured: 1111.54 kb/s, Master playlist: 1680.80 kb/s, Error: 33.87%
    --> Source:  /Users/Bun/Documents/CODING/CosmicPerspectiveAssets/01-FalconHeavy/HLS/FHVidmaster.m3u8
    --> Compare: out_2.m3u8

    --> Detail:  Measured: 1178.21 kb/s, Master playlist: 5711.20 kb/s, Error: 79.37%
    --> Source:  /Users/Bun/Documents/CODING/CosmicPerspectiveAssets/01-FalconHeavy/HLS/FHVidmaster.m3u8
    --> Compare: out_0.m3u8

    --> Detail:  Measured: 1109.03 kb/s, Master playlist: 3220.80 kb/s, Error: 65.57%
    --> Source:  /Users/Bun/Documents/CODING/CosmicPerspectiveAssets/01-FalconHeavy/HLS/FHVidmaster.m3u8
    --> Compare: out_1.m3u8

    Any help would be greatly appreciated on the -maxrate and -buffsize for variant playlists 0, 1, and 2. No adjustment I make seems to make any difference.

  • How to limit duration of the video with Dropzonejs ?

    26 juin 2015, par SNaRe

    I have a form which I upload videos and duration/length of the video is important.

    After I upload the file with PHP, I check the duration of the video file size with FFMpeg.

    I calculate duration in PHP and need to send value of the duration via PHP somehow. I think I have to append the duration to $result variable of Json.

    This is my html

       

           <code class="echappe-js">&lt;script src=<br />
           &quot;//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js&quot;&gt;&lt;/script&gt;

    &lt;script src=&quot;https://rawgit.com/enyo/dropzone/master/dist/dropzone.js&quot;&gt;&lt;/script&gt;

    &lt;script type=&quot;text/javascript&quot;&gt;<br />
    <br />
           Dropzone.options.myDropzone = {<br />
    <br />
           maxFiles: 1,<br />
           acceptedFiles: &quot;image/*,video/*&quot;,<br />
           maxfilesexceeded: function (file) {<br />
               this.removeAllFiles();<br />
               this.addFile(file);<br />
               $('#infomsg').hide();<br />
    <br />
           },<br />
    <br />
           init: function () {<br />
               $('#infomsg').hide();<br />
    <br />
               this.on(&quot;success&quot;, function (result) {<br />
    <br />
                   $('#infomsg').show();<br />
    <br />
    <br />
                   $(&quot;#boatAddForm&quot;).append($('&lt;input type=&quot;hidden&quot; ' +<br />
                       'name=&quot;files[]&quot; ' +<br />
                       'value=&quot;' + result.name + '&quot;&gt;'));<br />
    <br />
               });<br />
           }<br />
           };<br />
    <br />
    <br />
           &lt;/script&gt;

    This is the most minimal example of Dropzone. The upload in this
    example doesn’t work, because there is no actual server to handle
    the file upload.

    This is my PHP

    &lt;?php
    $ds          = DIRECTORY_SEPARATOR;

    $storeFolder = 'uploads';

    if (!empty($_FILES)) {

       $tempFile = $_FILES['file']['tmp_name'];

       $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;

       $targetFile =  $targetPath. $_FILES['file']['name'];

       move_uploaded_file($tempFile,$targetFile);

    } else {
       $result  = array();

       $files = scandir($storeFolder);                 //1
       if ( false!==$files ) {
           foreach ( $files as $file ) {
               if ( '.'!=$file &amp;&amp; '..'!=$file) {       //2
                   $obj['name'] = $file;
                   $obj['size'] = filesize($storeFolder.$ds.$file);
                   $result[] = $obj;
               }
           }
       }

       header('Content-type: text/json');              //3
       header('Content-type: application/json');
       echo json_encode($result);
    }

    If I could check a custom json response right after

    Dropzone.options.myDropzone = {

    like other requirements for success, I won’t have to right if statements in success in order to check the validation.

    Basically I want to do it as I do like

    maxFiles: 1,

    without writing any conditions inside success