
Recherche avancée
Autres articles (35)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP 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 (...) -
Taille des images et des logos définissables
9 février 2011, parDans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (5469)
-
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