
Recherche avancée
Médias (91)
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
Autres articles (77)
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...) -
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (6552)
-
How to cut and merge avi videos with java
17 août 2017, par MonticleI want to cut and merge some avi videos(same codec, same resolution, same fps) using java library.
Now I am trying this using Humble video(https://github.com/artclarke/humble-video), which is based on ffmpeg.
I want to use the seek function to cut the input video first, but the result is not correct.
this is my code.
public void cutjob(String input, String output, int starttime) {
final Demuxer demuxer = Demuxer.make();
final Muxer muxer = Muxer.make(output, null, "avi");
try {
demuxer.open(input, null, false, true, null, null);
final MuxerFormat format = MuxerFormat.guessFormat("avi", null, null);
int n = demuxer.getNumStreams();
final Decoder[] decoders = new Decoder[n];
for (int i = 0; i < n; i++) {
final DemuxerStream ds = demuxer.getStream(i);
decoders[i] = ds.getDecoder();
final Decoder d = decoders[i];
if (d != null) {
if (format.getFlag(MuxerFormat.Flag.GLOBAL_HEADER))
d.setFlag(Coder.Flag.FLAG_GLOBAL_HEADER, true);
d.open(null, null);
muxer.addNewStream(d);
}
}
muxer.open(null, null);
demuxer.seek(-1, Long.MIN_VALUE, (long)starttime* Global.getDefaultTimeBase().getDenominator(), Long.MAX_VALUE, Demuxer.SeekFlag.SEEK_ANY.swigValue());
final MediaPacket packet = MediaPacket.make();
long dts = -1;
while (demuxer.read(packet) >= 0) {
System.out.println("dts:"+packet.getDts() + ",pts:"+packet.getPts());
final Decoder d = decoders[packet.getStreamIndex()];
if (packet.isComplete() && d != null) {
dts = dts == -1 ? packet.getDts() : dts;
packet.setDts(packet.getDts() - dts);
packet.setPosition(-1);
muxer.write(packet, false);
}
}
muxer.close();
demuxer.close();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}The video source is about 190 seconds long, and I set the "starttime" as 180,
want to cut the last 10 seconds and write to a new avi file.The output avi file is 10 seconds long, but only the last 5s of the video is correct, the first 5s seems no data.
Is there any wrong in my code.
Thanks. -
How to get success info from ffmpeg on C# ?
13 mars 2014, par user2989391I using ffmpeg on C#, my argument worked fine but i don't know get success handle..
Sorry for my bad English.
Thank you for help.ProcessStartInfo psi = new ProcessStartInfo("bin\\ffmpeg.exe");
Process proc = Process.Start(psi);
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.Arguments = " My argument ";
psi.RedirectStandardError = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
proc = Process.Start(psi);
StringBuilder sb = new StringBuilder();
StreamReader outputReader = proc.StandardOutput;
while (!(proc.StandardOutput.EndOfStream)) {
sb.AppendLine(proc.StandardOutput.ReadLine());
}
proc.WaitForExit();
proc.Close();
psi = null; -
Using ffmpeg to create video from images - Python [duplicate]
24 mars 2017, par HarelThis question already has an answer here :
I’m using FFMPEG in python (using this tutorial) and my main goal is to take a screenshot and append it into an existing mp4 video(append it using the encoder, not raw appending).
That’s the code I’m using right now, this script only writes a video of one frame(the first screenshot) and doesn’t do anything with all the other screenshots.
command = [ FFMPEG_BIN,
'-f', 'rawvideo',
'-codec', 'rawvideo',
'-s', '1920x1080', # size of one frame
'-pix_fmt', 'rgb24',
'-r', '24', # frames per second
'-i', '-', # The input comes from a pipe
'-an', # Tells FFMPEG not to expect any audio
'-vcodec', 'mpeg4',
'my_output_videofile.mp4' ]
for x in range(30):
pipe = sp.Popen(command, stdin = sp.PIPE, stderr = sp.PIPE)
im = np.array(ImageGrab.grab()).tostring()
pipe.communicate(input = im)
pipe.stdin.close()
if pipe.stderr is not None:
pipe.stderr.close()
pipe.wait()Edit :
Apparently using Popen.communicate breaks the pipe (Thanks to Peter Wood !).After fixing the pipe breaking scenario I have encountered another problem, after writing 235 frames to the video the program crashes.
The new edited script :
command = [ FFMPEG_BIN,
'-y',
'-f', 'rawvideo',
'-codec', 'rawvideo',
'-s', '1920x1080', # size of one frame
'-pix_fmt', 'rgb24',
'-r', '24', # frames per second
'-i', '-', # The input comes from a pipe
'-an', # Tells FFMPEG not to expect any audio
'-vcodec', 'mpeg4',
'my_output_videofile.mp4' ]
pipe = sp.Popen(command, stdin = sp.PIPE, stderr = sp.PIPE)
for x in range(300):
print x
im = np.array(ImageGrab.grab()).tostring()
pipe.stdin.write(im)
pipe.stdin.flush()