
Recherche avancée
Autres articles (53)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (5430)
-
When compressing a set of images with libx264, why does frame rate affect final output size ?
3 avril 2018, par jd20I’m using ffmpeg to encode a set of images as a short timelapse video, using libx264 codec. My first attempt, I encoded it at 30 FPS, using :
ffmpeg -r 30 -pattern_type glob -i "*.jpg" -vcodec libx264 -crf 30 -pix_fmt yuv420p output.mp4
With 60 frames, that gives me a 163 KB file that’s 2 seconds long. Then I realized I needed it to be slower, so I re-ran the same command, but changed -r to 2. Now I have a file that’s 30 seconds long, but the size jumped to 891 KB ! The video quality looks perceptually the same.
How do I encode at a slower frame rate, without the final file size ballooning ?
Notes : Some theories I had, and things I checked. First, to make sure ffmpeg wasn’t duplicating frames in the longer verison, I check the I/P/B counts. The 30 FPS file had :
[libx264 @ 0x7f9b26001c00] frame I:1 Avg QP:30.67 size: 44649
[libx264 @ 0x7f9b26001c00] frame P:15 Avg QP:31.19 size: 5471
[libx264 @ 0x7f9b26001c00] frame B:44 Avg QP:31.45 size: 767The 2 FPS file had :
[libx264 @ 0x7fcd32842200] frame I:1 Avg QP:21.29 size: 90138
[libx264 @ 0x7fcd32842200] frame P:15 Avg QP:22.48 size: 33686
[libx264 @ 0x7fcd32842200] frame B:44 Avg QP:26.29 size: 6674So, the I/P/B counts are identical, but the QP is much lower for the 2 FPS file. To offset, I tried increasing -crf for the 2 FPS file, to get about the same target size, but that just gave me a very blurry video (had to go to crf=40). I tried messing with -minrate, -maxrate, -bt, none helped. I’m guessing there is some x264 codec setting which is frame rate dependent, but I’m at a loss trying to figure out which one (from what I understand, constant bitrate is affected by frame rate but CRF should not be, but maybe I’m misunderstanding it.
-
Anomalie #4189 (Fermé) : extraire_multi mélange un /li /ul final avec le de langue ajouté p...
8 mars 2021, par cedric -intégré par https://git.spip.net/spip/spip/commit/2731ba05209cf61588923a5cd8cc4442cad6878e alea jacta est
-
PHP Foreach query only displays final result for slideshow ?
22 janvier 2023, par ShaneRibzUsing a query I pull the most liked video's on a localhosted stream webpage, and use FFMPEG to create a thumbnail if one isnt already existing and the video length.


The query succesfully pulls the 4 most liked video's and displays them in a carousel. FFMPEG succesfully creates each thumbnail, and gets the length of each video.


Somewhere, for whatever reason I cant figure out, only the final slide in the carousel displays the thumbnail as its background.


Sorry if my code is messy, I'm learning how to better optimize.


<?php
 $sql = "use info";
 $pdo->exec($sql);
 $stmt = $pdo->query("SELECT * FROM `files` ORDER BY `like` DESC LIMIT 4");
 $filelist = $stmt->fetchAll(PDO::FETCH_ASSOC);
 $h = 0;
 foreach ($filelist as $row) {
 if ($h < 25){
 $h++;
 
 $name = $row['name'];
 $location = $row['location'];
 $type = $row['type'];
 $uploadby = $row['uploadby'];
 $like = $row['like'];
 $id = $row['fileid'];
 $cat1 = $row['Cat1'];
 $cat2 = $row['Cat2'];
 
 $ffmpeg = 'F:\\xampp\ffmpeg.exe'; 
 $location = str_replace("/","\\", $location);
 $video = 'F:\xampp\htdocs\\'. $location; 
 $bigloc = "F:\\xampp\htdocs\\thumb\big";
 $smallloc = "F:\\xampp\htdocs\\thumb\small";
 $image = $bigloc . "\\" . $name . ".jpg"; 
 $image2 = $smallloc . "\\" . $name. ".jpg"; 
 
 if (file_exists($image) and (file_exists($image2))) {
 
 } else {
 echo $image . " does not exist";
 $cmd="$ffmpeg -ss 00:25:00 -i ". "\"" . $video . "\"". " -s 1920x540 -vframes 1 ". "\"" .$image. "\"" . " -report"; 
 $cmd2="$ffmpeg -ss 00:25:00 -i ". "\"" . $video . "\""." -s 270x370 -vframes 1 ". "\"" .$image2. "\"";
 echo "<br />". $cmd . "<br />".$cmd2."<br />";
 exec($cmd);
 exec($cmd2);
 }
 
 $file = "\"". $video. "\"";
 $result = shell_exec('ffmpeg -i ' . escapeshellcmd($file) . ' 2>&1');
 preg_match('/(?<=Duration: )(\d{2}:\d{2}:\d{2})\.\d{2}/', $result, $match);
 $time = $match[1];
 $image = "thumb/big/" . $name . ".jpg"; 
 $image2 = "thumb/small/" . $name. ".jpg";

 ?>

 <div class="single-hero-slider-wrap single-animation-wrap slider-height-hm4 bg-image-hm4 slider-bg-color-black d-flex align-items-center slider-bg-position-1 bg-black" style="&lt;?php echo &#x27;background-image:url(&#x27;. $image.&#x27;);&#x27;;?>">
 <div class="slider-content-hm4 slider-animated">
 <h1 class="title animated"><?php echo $name;?></h1>
 <div class="sub-title-time-wrap">
 <span class="sub-title animated"><?php if ($cat2 != ""){ echo $cat1 .", ". $cat2; }else{ echo $cat1;}?></span>
 <span class="time animated"><?php echo $time;?></span>
 </div>
 <div class="slider-button">
 <a href="http://stackoverflow.com/feeds/tag/movie-details.html" class="btn-style-hm4 animated">Watch Now</a>
 </div>
 </div>
 </div>

 <?php 
 }
 } 
 ?>



When inspecting the source code on my web browser ;
"
style="<?php echo 'background-image:url('. $image.');';?>"
", this will only appear on the final slide. The first 3 slides wont have "background-image" at all.

I feel as though I'm making a silly mistake and just cant see it.


EDIT
I should note, the "$name" and "$time" for each displays properly, its just the background-image that does not.


EDIT 2
Here is the source code :


<div class="single-hero-slider-wrap single-animation-wrap slider-height-hm4 bg-image-hm4 slider-bg-color-black d-flex align-items-center slider-bg-position-1 bg-black" style="background-image: url(&#x27;thumb/big/Alita Battle Angel.png&#x27;);">
</div>


The "background-image" shows in source, but during inspect element it does not. No errors populate either.