
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (81)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (9327)
-
Shell out to FFMPEG from Windows Service sometimes hangs
17 avril 2013, par Jake StevensonWe have a windows service which runs on multiple machines, waiting for MSMQ messages telling it to convert various files for us. Sometimes the files are video files and we shell out an ffmpeg process to do the conversion and wait for the process to complete or error before moving on. And on some occasions, that ffmpeg process appears to "hang" and we have to RDP to the machine as an admin and manually kill it off using task manager before it can continue to accept new messages. This hung ffmpeg process will stay that way indefinitely, I've waited several days on some occasions. The services all run under a special account.
The conversion process involves multiple steps— First copying the file locally, then running ffmpeg to convert, then running mp4box for "hinting", then another ffmpeg for a thumbnail. When it hangs, it is always on the first ffmpeg portion. Killing the ffmpeg process causes that code to receive an error and allows it to handle things normally from there.
Here is the code for that first FFMPEG process. As you can see, we've tried several things to detect a hung process :
public class FFMPEGEncoder : IEncoder
{
[DllImport("kernel32.dll", SetLastError = true)]
static extern int SetErrorMode(int wMode);
private ILogger _logger = NullLogger.Instance;
public ILogger Logger
{
get { return _logger; }
set { _logger = value; }
}
private static readonly string ffmpeg = System.IO.Path.Combine(ConfigurationManager.AppSettings["FFMPEG_Dir"], "ffmpeg.exe");
private const string ffmpegArgs =
"-r 30000/1001 -b 200k -bt 240k -vcodec libx264 -coder 0 -bf 0 -flags2 -wpred-dct8x8 -level 13 -maxrate 768k -acodec libfaac -ac 2 -ar 48000 -ab 192k -s 480x320 -async 1";
public EncoderResult EncodeTheFile(string originalFile)
{
var newFileName =
VideoFileNameHelper.GetVideoFileName(originalFile);
Logger.Debug("Encoding {0} to {1} with ffmpeg", originalFile, newFileName);
RunEncoding(originalFile, newFileName);
return new EncoderResult { Filename = newFileName };
}
private void RunEncoding(string originalFile, string newFileName)
{
var process = new System.Diagnostics.Process
{
StartInfo =
{
CreateNoWindow = true,
WorkingDirectory = ConfigurationManager.AppSettings["FFMPEG_Dir"],
UseShellExecute = false,
FileName = ffmpeg,
Arguments = "-i \"" + originalFile + "\" " + ffmpegArgs + " \"" + newFileName + "\"",
RedirectStandardOutput = false,
RedirectStandardError = true
}
};
Logger.Debug("Launching ffmpeg with the following arguments:");
Logger.Debug(process.StartInfo.Arguments);
int oldMode = SetErrorMode(3);
var startTime = DateTime.Now;
process.Start();
var output = process.StandardError.ReadToEnd();
Logger.Debug("ffmpeg output:");
Logger.Debug(output);
while(!process.WaitForExit(3000))
{
if (!process.Responding)
{
process.Kill();
SetErrorMode(oldMode);
throw new Exception("Process hung");
}
if (DateTime.Now.Subtract(startTime) > new TimeSpan(0, 0, 30, 0))
{
process.Kill();
SetErrorMode(oldMode);
throw new Exception("Process hung");
}
}
SetErrorMode(oldMode);
var exitCode = process.ExitCode;
if (exitCode != 0)
{
//We got an error from ffmpeg
process.Close();
if (System.IO.File.Exists(newFileName))
{
System.IO.File.Delete(newFileName);
}
Logger.Error("Error converting video {0}", originalFile);
throw new Exception(string.Format("Unable to process the video {0}", originalFile));
}
process.Close();
}
}Despite the errormode setting code AND the code that tries to kill the process after 30 minutes, I still end up with it hung occasionally and have to manually kill the process. What am I doing wrong that would allow my system to more gracefully handle the "hung" ffmpeg processes ?
-
Windows FFMPEG will not find my files at all [migrated]
22 mars 2014, par user2441247I have a folder full of images that go from 0 to whatever number, and I need to turn these images to a video. They are all .PNG files. Here is my command I am using :
ffmpeg.exe -f image2 -framerate 30 -pattern_type sequence -start_number 1 -r 30 -i "img%%04d.jpg" -s 1280x720 test.avi
When I run this I get this error :
[image2 @ 002be580] Could find no file with path 'img%04d.jpg' and index in the range 1-5
img%04d.jpg: No such file or directoryWhat can I change to get this to work ?
-
Running ffmpeg.exe through windows service fails to complete while dealing with large files
28 avril 2013, par HarunI am using ffmpeg.exe to convert video files to flv format. For that purpose i use a windows service to run the conversion process in background. While trying to convert large files(i experienced it when the file size is >14MB) through windows service it gets stuck at the line which starts the process(ie,
process.start();
).But when i tried to execute ffmpeg.exe directly from command prompt it worked with out any problems.
My code in windows service is as follows :
private Thread WorkerThread;
protected override void OnStart(string[] args)
{
WorkerThread = new Thread(new ThreadStart(StartHandlingVideo));
WorkerThread.Start();
}
protected override void OnStop()
{
WorkerThread.Abort();
}
private void StartHandlingVideo()
{
FilArgs = string.Format("-i {0} -ar 22050 -qscale 1 {1}", InputFile, OutputFile);
Process proc;
proc = new Process();
try
{
proc.StartInfo.FileName = spath + "\\ffmpeg\\ffmpeg.exe";
proc.StartInfo.Arguments = FilArgs;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
eventLog1.WriteEntry("Going to start process of convertion");
proc.Start();
string StdOutVideo = proc.StandardOutput.ReadToEnd();
string StdErrVideo = proc.StandardError.ReadToEnd();
eventLog1.WriteEntry("Convertion Successful");
eventLog1.WriteEntry(StdErrVideo);
}
catch (Exception ex)
{
eventLog1.WriteEntry("Convertion Failed");
eventLog1.WriteEntry(ex.ToString());
}
finally
{
proc.WaitForExit();
proc.Close();
}How can I get rid of this situation.