
Recherche avancée
Autres articles (16)
-
Publier sur MédiaSpip
13 juin 2013Puis-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 -
MediaSPIP Init et Diogène : types de publications de MediaSPIP
11 novembre 2010, parÀ l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...) -
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)
Sur d’autres sites (3177)
-
ffmpeg fails on conversion from .mov to .mp4 fails aT 98%
3 avril 2013, par user2241249Our code is below. When converting a uploaded
.mov
to.mp4
the conversion halts at 98%.Almost all of our other preferred formats encode flawlessly. Anyone has any clue on where we went wrong ? We are struggling on this for a while now so we want to ask the experts, thanks in advance for any help.
<?php
$Path = dirname(__FILE__) . "/";
$url = "http://" . $_SERVER['SERVER_NAME'] . str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])) . "/";
session_start();
include_once 'inc/config.inc.php';
include_once 'common.php';
include_once 'inc/ffmpegprogressbar.class.php';
ob_flush();
?>
<?php
// Specifie Inputfile for FFMPEG
$count = count($_SESSION['Files']);
// $file = array_pop($_SESSION['Files']);
$FileInstance = array_pop($_SESSION['Files']);
//$FileInstance = $_SESSION['Files'][0];
$file = $FileInstance['FileName'];
$passNeeded = $FileInstance['PassNeeded'];
$fmt = $FileInstance['fmt'];
$FFMPEGInput = $Path . 'data/' . $_SESSION['OldSession'] . "/" . $file;
$timeUnique = time();
//echo "Start:Session holds: ".$_SESSION["cstatus"].", cstatus var = $cstatus";
/* if ($FileInstance['PassNeeded'] == 5) {
$FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1920x1080";
} else if ($FileInstance['PassNeeded'] == 4) {
$FFMPEGParams ="-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1280x720";
} else if ($FileInstance['PassNeeded'] == 3) {
$FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 854x480";
} else if ($FileInstance['PassNeeded'] == 2) {
$FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 640x360";
}
*/
if($fmt=="flv"){
if ($FileInstance['PassNeeded'] == 5) {
$FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1920x1080";
} else if ($FileInstance['PassNeeded'] == 4) {
$FFMPEGParams ="-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1280x720";
} else if ($FileInstance['PassNeeded'] == 3) {
$FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 854x480";
} else if ($FileInstance['PassNeeded'] == 2) {
$FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 640x360";
}
}elseif($fmt=="mp4"){
$FFMPEGParams = " -pix_fmt yuv420p -s 640x360";
}elseif($fmt=="ogv"){
$FFMPEGParams = " -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 125k -s 640x360";
}elseif($fmt=="webm"){
$FFMPEGParams = " -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 125k -s 640x360";
//}elseif($fmt!==""){
//-i %1 -s qvga -acodec libfaac -ar 22050 -ab 128k -vcodec libx264 -threads 0 -f ipod %2
//-vcodec mpeg4 -acodec aac output.mp4
//$FFMPEGParams = "-r 20 -ar 44100 -ab 196 -f $fmt -s 480x351";
}
if ($FileInstance['PassNeeded'] > 2) {
$FileInstance['PassNeeded'] = $FileInstance['PassNeeded'] - 1;
array_unshift($_SESSION['Files'], $FileInstance);
}
$flv_rpath = 'data/' . $_SESSION['OldSession'] . "/" . $file. $timeUnique . ".".$fmt;
$FFMPEGOutput = $FFMPEGInput . $timeUnique . ".$fmt";
$_SESSION['ConvertedFiles'][$file][] = array('Pass' => $passNeeded, 'OutFile' => $file . $timeUnique . ".$fmt","fmt"=>$fmt);
if (!$_GET["pkey"]) {
$pkey = rand();
} elseif (file_exists('log/' . $_GET["pkey"] . '.ffmpeg')) {
$pkey = $_GET["pkey"];
} else {
$pkey = rand();
}
// initializing and create ProgressBar
flush();
$FFMPEGProgressBar = &new FFMPEGProgressBar();
flush();
// Show Progressbar
if ($count > 0) {
if ($FileInstance['PassNeeded'] < 3) {
define('FFMPEG_LIBRARY', '/usr/local/bin/ffmpeg ');
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
if (!extension_loaded($extension)) {
dl($extension_soname) or die("Can't load extension $extension_fullname\n");
}
exec(FFMPEG_LIBRARY . " -y -i '" . $FFMPEGInput . "' -vframes 1 -ss 00:00:03 -an -vcodec png -f rawvideo -s 160x90 '$FFMPEGInput.png'");
}
$FFMPEGProgressBar->Show($pkey, $count, $url, $passNeeded, $file, $timeUnique,$fmt);
if (!$_GET["pkey"] || !file_exists('log/' . $_GET["pkey"] . '.ffmpeg')) {
flush();
$FFMPEGProgressBar = &new FFMPEGProgressBar();
flush();
@$FFMPEGProgressBar->execFFMPEG($FFMPEGInput, $FFMPEGOutput, $FFMPEGParams, $pkey);
flush();
$_SESSION['new_space']["video"] = 'data/' . $_SESSION['OldSession'] . "/" . $file;
$_SESSION['new_space']["{$FileInstance['name']}"] = $flv_rpath;
$_SESSION['new_space']["session"] = $_SESSION['OldSession'];
}
//echo "End:Session holds: ".$_SESSION["cstatus"].", cstatus var = $cstatus";
} else {
// header("Location: $url" . "index.php" );
echo "<code class="echappe-js"><script type=\"text/javascript\">window.location.href=&#39;" . $url . "&#39;;</script>No Input " ;
}
// ShowProgressbar
?>
-
Révision 98074 : Report de r98072 : Report de r98068 : Certains flux RSS publient l’integralite de...
26 mai 2016, par cedric@yterium.comOn optimise les fonctions cdata_echappe et cdata_echappe_retour, et on limite la syndication aux 1000 premiers items, surchargeable par la constante _SYNDICATION_MAX_ITEMS
-
Révision 98073 : Report de r98071 : Report de r98068 : Certains flux RSS publient l’integralite de...
26 mai 2016, par cedric@yterium.comOn optimise les fonctions cdata_echappe et cdata_echappe_retour, et on limite la syndication aux 1000 premiers items, surchargeable par la constante _SYNDICATION_MAX_ITEMS