
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (88)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 ;
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (20925)
-
Anomalie #2327 : Voir le logo du site dans l’espace privé
25 octobre 2011, par tetue -Pourquoi pas, mais ce serait plutôt ’edition’, car il s’agit d’éditer (le descriptif, etc.) et non de publier le site. On peut essayer, mais ça n’est pas choquant que ça reste à sa place habituelle. C’est surtout l’entrée ’Plugins’ qu’il faut déplacer dans ce menu, pour marquer la séparation entre (...)
-
PHP Create video thumbnail with FFMPEG - returns error code 1
27 février 2013, par LightI am trying to create a video thumbnail with FFMPEG using the following script.
However I am getting return value of 1. What does it mean ? What is error code 1 ? I have Googled it and didn't find and answer. Thanks.
Here is the code :<?php
//thumb path should be added in the below code
//test for thumb
$dir_img='uploads/';
$mediapath='thumb.jpg';
$file_thumb=create_movie_thumb('test.mp4',$mediapath,$mediaid);
$name_file=explode(".",$mediapath);
$imgname="thumb_".$name_file[0].".jpg";
/*
Function to create video thumbnail using ffmpeg
*/
function create_movie_thumb($src_file,$mediapath,$mediaid)
{
global $CONFIG, $ERROR;
$CONFIG['ffmpeg_path'] = '/usr/bin/'; // Change the path according to your server.
$dir_img='uploads/';
$CONFIG['fullpath'] = $dir_img."thumbs/";
$src_file = $src_file;
$name_file=explode(".",$mediapath);
$imgname="thumb_".$name_file[0].".jpg";
$dest_file = $CONFIG['fullpath'].$imgname;
if (preg_match("#[A-Z]:|\\\\#Ai", __FILE__)) {
// get the basedir, remove '/include'
$cur_dir = substr(dirname(__FILE__), 0, -8);
$src_file = '"' . $cur_dir . '\\' . strtr($src_file, '/', '\\') . '"';
$ff_dest_file = '"' . $cur_dir . '\\' . strtr($dest_file, '/', '\\') . '"';
} else {
$src_file = escapeshellarg($src_file);
$ff_dest_file = escapeshellarg($dest_file);
}
$output = array();
if (eregi("win",$_ENV['OS'])) {
// Command to create video thumb
$cmd = "\"".str_replace("\\","/", $CONFIG['ffmpeg_path'])."ffmpeg\" -i ".str_replace("\\","/" ,$src_file )." -an -ss 00:00:05 -r 1 -vframes 1 -y ".str_replace("\\","/" ,$ff_dest_file);
exec ("\"$cmd\"", $output, $retval);
echo "exec1";
} else {
// Command to create video thumb
$cmd = "{$CONFIG['ffmpeg_path']}ffmpeg -i $src_file -an -ss 00:00:05 -r 1 -vframes 1 -y $ff_dest_file";
exec ($cmd, $output, $retval);
echo "exec2";
}
if ($retval) {
$ERROR = "Error executing FFmpeg - Return value: $retval";
if ($CONFIG['debug_mode']) {
// Re-execute the command with the backtick operator in order to get all outputs
// will not work if safe mode is enabled
$output = `$cmd 2>&1`;
$ERROR .= "<br /><br /><div align="\"left\"">Cmd line : <br /><span style=""font-size:120%"">" . nl2br(htmlspecialchars($cmd)) . "</span></div>";
$ERROR .= "<br /><br /><div align="\"left\"">The ffmpeg program said:<br /><span style=""font-size:120%"">";
$ERROR .= nl2br(htmlspecialchars($output));
$ERROR .= "</span></div>";
}
echo $ERROR;
@unlink($dest_file);
return false;
}
$return = $dest_file;
//@chmod($return, octdec($CONFIG['default_file_mode'])); //silence the output in case chmod is disabled
return $return;
}
?> -
FFMPEG : sws_scale returns error : Slice parameters 0, 2160 are invalid
21 janvier 2020, par Matthew CzarnekI’m trying to follow a tutorial to display ffmpeg AVFrame output in SDL. The tutorial(and all examples I’m seeing online) are still using ’sws_getContext’, which has been deprecated and removed from the newest version of ffmpeg. Trying to change current pixel format from whatever it currently is to PIX_FMT_YUV420P, so I can display it. I believe I need the sws_scale function to accomplish this.
However, sws_scale is the function that causes a command line error of :
Slice parameters 0, 2160 are invalidHere is all my code associate with swsContext :
struct SwsContext* av_sws_ctx = NULL;
av_sws_ctx = sws_alloc_context();
sws_init_context(av_sws_ctx, NULL, NULL);
sws_scale(av_sws_ctx, (uint8_t const* const*)av_frame->data,
av_frame->linesize, 0, av_codec_context->height,
av_frame->data, av_frame->linesize);Further complicating the matter, SwsContext is only defined internal to ffmpeg, externally I can’t set/get any variables or even view them in the debugger.
int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dst[], const int dstStride[] )
The vales of other parameters, other than av_sws_ctx :
srcSlice: av_frame->data =
8 arrays, first is filled with "\x10\x10\x10\x10\x10..."
second and third are "€€€€€€€€€€€€€€€€€..."
rest are NULL
linesize(av_frame->linesize) is an array:
3840,1920,1920,0,0,0,0,0
srcSliceY:0
srcSliceH:2160
dest: same as second parameter (av_frame->data)
dstStride: av_frame->linesize againIf I drill into sws_scale source code, I find that this error is thrown by this chunk of code :
if ((srcSliceY & (macro_height-1)) ||
((srcSliceH& (macro_height-1)) && srcSliceY + srcSliceH != c->srcH) ||
srcSliceY + srcSliceH > c->srcH) {
av_log(c, AV_LOG_ERROR, "Slice parameters %d, %d are invalid\n", srcSliceY, srcSliceH);
return AVERROR(EINVAL);
}I assume that the issue therefore is that the height of my video is bigger than sws_context(4k video). But can’t figure out how to tell sws_context what it’s height should be using sws_alloc_context or sws_init_context or any other function.
See something I’m missing ? Thank you.