
Recherche avancée
Médias (3)
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (110)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (9519)
-
How to use ffmpeg to create a video from images with timestamps
16 juin 2023, par 肉蛋充肌I am attempting to record videos from a camera (basler pylon). Each frame has a timestamp provided by the camera. I want to write every frame into a video file one by one and set the interval time between two consecutive frames (in other words, fps) to match the interval time of their timestamps.I found an example code that uses ffmpeg to write the frame with a specified fps, but I am unsure how to modify the code to change it from specifying fps to using the timestamp of the frame. As I don't know anything about ffmpeg, could someone show me how to modify the code to achieve this ? It should be noted that since I immediately write every image I obtain into a video, the solution of first obtaining all the images and then merging them into a video may not be feasible.


class FFMPEG_VideoWriter:
 def __init__(
 self,
 filename, # Use avi format if possible
 size, # (width, height)
 fps, # Frame rate
 codec="libx264", # Codec
 audiofile=None, # Audio file
 preset="medium", # Compression rate; slower is better
 bitrate=None, # Bitrate (set only when codec supports bitrate)
 pixfmt="rgba",
 logfile=None,
 threads=None,
 ffmpeg_params=None,
 ):
 if logfile is None:
 logfile = sp.PIPE

 self.filename = filename
 self.codec = codec
 self.ext = self.filename.split(".")[-1]

 # order is important
 cmd = [
 "ffmpeg",
 "-y",
 "-loglevel",
 "error" if logfile == sp.PIPE else "info",
 "-f",
 "rawvideo",
 "-vcodec",
 "rawvideo",
 "-s",
 "%dx%d" % (size[1], size[0]),
 "-pix_fmt",
 pixfmt,
 "-r",
 "%.02f" % fps,
 "-i",
 "-",
 "-an",
 ]
 cmd.extend(
 [
 "-vcodec",
 codec,
 "-preset",
 preset,
 ]
 )
 if ffmpeg_params is not None:
 cmd.extend(ffmpeg_params)
 if bitrate is not None:
 cmd.extend(["-b", bitrate])
 if threads is not None:
 cmd.extend(["-threads", str(threads)])

 if (codec == "libx264") and (size[0] % 2 == 0) and (size[1] % 2 == 0):
 cmd.extend(["-pix_fmt", "yuv420p"])
 cmd.extend([filename])

 popen_params = {"stdout": sp.DEVNULL, "stderr": logfile, "stdin": sp.PIPE}

 if os.name == "nt":
 popen_params["creationflags"] = 0x08000000 # CREATE_NO_WINDOW

 self.proc = sp.Popen(cmd, **popen_params)

 def write_frame(self, img_array):
 """Writes one frame in the file."""
 try:
 self.proc.stdin.write(img_array.tobytes())
 except IOError as err:
 ...
 raise IOError(error)

 def close(self):
 if self.proc:
 self.proc.stdin.close()
 if self.proc.stderr is not None:
 self.proc.stderr.close()
 self.proc.wait()
 self.proc = None

 # Support the Context Manager protocol, to ensure that resources are cleaned up.

 def __enter__(self):
 return self

 def __exit__(self, exc_type, exc_value, traceback):
 self.close()

# Use Example
with FFMPEG_VideoWriter(video_path, (height, width), fps=120, pixfmt="rgb24") as writer:
 while self.isRecording or not self.frame_queue.empty():
 if not self.frame_queue.empty():
 writer.write_frame(self.frame_queue.get())



-
Unable to load FFProbe in laravel app
1er août 2016, par Bullgodi have a problem when i upload a video with a form in my server. In the moment of upload, the aplication, must to convert the format of the video to mp4. In my notebook, this convertion work fine but when i try to convert a video in the server, i receive this error :
ExecutableNotFoundException in FFProbeDriver.php line 50 : Unable to load FFProbe
This is my form :
{!! Form::open(['route' =>'upload.store', 'method'=>'POST', 'files'=> true ]) !!}
<div class="form-group" style="display: none;">
{!! Form::label('usuario_id', 'usuario_id:') !!}
{!! Form::text('usuario_id', Auth::user()->id) !!}
</div>
<div class="form-group" style="display: none;">
{!! Form::label('state', 'State:') !!}
{!! Form::text('state', 0) !!}
</div>
<div class="form-group">
{!! Form::label('asignatura_id', 'Asignatura:') !!}
{!! Form::select('asignatura_id', $subject) !!}
</div>
<div class="form-group">
{!! Form::label('name', 'Nombre:') !!}
{!! Form::text('name', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa el nombre de la pelicula']) !!}
</div>
<div class="form-group">
{!! Form::label('language', 'Idioma:') !!}
{!! Form::text('language', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa la descripcion']) !!}
</div><div class="form-group">
{!! Form::label('creation_date', 'Fecha Creación:') !!}
{!! Form::text('creation_date', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa el nombre de la pelicula']) !!}
</div>
<div class="form-group">
{!! Form::label('description', 'Descripcion:') !!}
{!! Form::text('description', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa la descripcion']) !!}
</div>
<div class="form-group">
{!! Form::label('imageRef', 'Imagen:') !!}
{!! Form::file('imageRef') !!}
</div>
<div class="form-group">
{!! Form::label('url', 'Video:') !!}
{!! Form::file('url') !!}
</div>
{!! Form::submit('Registrar',['class' =>'btn btn-primary']) !!}
{!! Form::close() !!}The function in the model :
public function setUrlAttribute($url){
$this->attributes['url'] = 'old/'.Carbon::now()->second.$url->getClientOriginalName();
$name = Carbon::now()->second.$url->getClientOriginalName();
\Storage::disk('local')->put($name, \File::get($url));
$file = pathinfo($name,PATHINFO_FILENAME);
$extension = pathinfo($name,PATHINFO_EXTENSION);
$ffmpeg = \FFMpeg\FFMpeg::create([
'ffmpeg.binaries' => '/usr/bin/ffmpeg.exe',
'ffprobe.binaries' => '/usr/bin/ffprobe.exe',
'timeout' => 0, // The timeout for the underlying process
'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
]);
$video = $ffmpeg->open($url);
$format = new FFMpeg\Format\Video\X264('libmp3lame', 'libx264');
$format->on('progress', function ($video, $format, $percentage) {
echo "$percentage % transcoded";
});
$format
-> setKiloBitrate(1000)
-> setAudioChannels(2)
-> setAudioKiloBitrate(256);
$video
->save($format, 'files/convert/'.$file.'.mp4');
$this->attributes['url'] = $file.'.mp4';
}if i convert the video in the console i receive this :
# ffmpeg -i 67portrait.MOV -vcodec libx264 new.mp4
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
Seems stream 1 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '67portrait.MOV':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
date : 2013-11-29T13:19:09+0100
date-fra : 2013-11-29T13:19:09+0100
Duration: 00:00:02.08, start: 0.000000, bitrate: 926 kb/s
Stream #0.0(und): Audio: aac, 44100 Hz, mono, s16, 60 kb/s
Stream #0.1(und): Video: h264, yuv420p, 568x320, 863 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc
[libx264 @ 0x24bab70]broken ffmpeg default settings detected
[libx264 @ 0x24bab70]use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x24bab70]preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x24bab70]speed presets are listed in x264 --help
[libx264 @ 0x24bab70]profile is optional; x264 defaults to high
Output #0, mp4, to 'new.mp4':
Stream #0.0(und): Video: libx264, yuv420p, 568x320, q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream #0.1(und): Audio: libfaac, 44100 Hz, mono, s16, 64 kb/s
Stream mapping:
Stream #0.1 -> #0.0
Stream #0.0 -> #0.1
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
</profile></speed>i have tried a lot of thinks to resolve this problem but steel happend.
-
Anomalie #4276 : fonctions non définies dans porte_plume_pipelines.php
24 janvier 2019, par François PalangiéBonjour,
Vous avez raison c’est la version 1.18.3 que j’ai maintenant, 1.18.1
devait être le numéro de version avant que je réinstalle la dernière
version de SPIP.Le problème était le même avec la 18.1.1 et la 18.1.3 . Le problème est
intervenu un matin sans que j’ai rien changé, je suppose que c’est mon
hébergeur qui a changé l’environnement et que c’est la cause du
problème... mais c’est curieux que cela produise ce type d’erreur !Cordialement,
François
Le 24/01/2019 à 12:59, redmine@spip.org a écrit :
La demande #4276 <https://core.spip.net/issues/4276#change-14694> a
été mise à jour par Franck D .- Statut changé de /Nouveau/ à /Fermé/
Hello :-)
Spip 3.2.3 est dispo avec la version 1.18.3 de porte plume
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_core_/tags/spip-3.2.3/plugins/porte_plume/paquet.xml#L4
J’ai vérifier le zip et c’est bien le cas
https://files.spip.net/spip/archives/SPIP-v3.2.3.zip !
Vous êtes sûr de la version que vous avez ?
Franck
Anomalie #4276 : fonctions non définies dans
porte_plume_pipelines.php
<https://core.spip.net/issues/4276#change-14694>- Auteur : François Palangié
- Statut : Fermé
- Priorité : Normal
- Assigné à :
- Catégorie :
- Version cible :
- Resolution :
- Navigateur :
Environnement :
- SPIP 3.2.3 [24211]
- Porte plume 1.18.1 - stable
- Site : https://voyart.org
- PHPinfo : https://voyart.org/phpinfo.php
Problème :
Le site fonctionne, mais quand on tente d’accéder à la partie
privée on a ce message d’erreur, qui persiste même après une
réinstallation de SPIP :
Fatal error : Uncaught Error : Call to undefined function barre_outils_css_icones() in /var/www/vhosts/voyart.org/httpdocs/plugins-dist/porte_plume/porte_plume_pipelines.php:152
Stack trace :
#0 /var/www/vhosts/voyart.org/httpdocs/plugins-dist/porte_plume/porte_plume_pipelines.php(129) : porte_plume_insert_head_css(’<script type="t...', true)<br /><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Anomalie: Document distant .zip uploadés et non gardés distants (Fermé)" href="https://core.spip.net/issues/1">#1</a> /var/www/vhosts/voyart.org/httpdocs/ecrire/inc/utils.php(199): porte_plume_insert_head_prive_css('<script type="t...')<br /><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Anomalie: Filtres sur chaines de langues de nouveau cassés (Fermé)" href="https://core.spip.net/issues/2">#2</a> /var/www/vhosts/voyart.org/httpdocs/tmp/cache/charger_pipelines.php(596): minipipe('porte_plume_ins...', '<script type="t...')<br /><a class="issue tracker-1 status-5 priority-3 priority-lowest closed" title="Anomalie: problème de gestion de cache lors de l'installation de SPIP (Fermé)" href="https://core.spip.net/issues/3">#3</a> /var/www/vhosts/voyart.org/httpdocs/ecrire/inc/utils.php(265): execute_pipeline_header_prive_css('<script type="t...')<br /><a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Evolution: forum privé->public (Fermé)" href="https://core.spip.net/issues/4">#4</a> /var/www/vhosts/voyart.org/httpdocs/tmp/cache/skel/html_c44cf6e196e37af7575f04c7aba04247.php(72): pipeline('header_prive_cs...', '<script type="t...')<br /><a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Evolution: traduction francophone de la zone utilisant Trac (Fermé)" href="https://core.spip.net/issues/5">#5</a> /var/www/vhosts/voyart.org/httpdocs/ecrire/public/parametrer.php(128): html_c44cf6e196e37af7575f04c7aba04247(Array, Array)<br /><a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Anomalie: Renseigner les champs "component", "version", .. (Fermé)" href="https://core.spip.net/issues/6">#6</a> /var/www/vhosts/voyart.org/httpdocs/ecr in /var/www/vhosts/voyart.org/httpdocs/plugins-dist/porte_plume/porte_plume_pipelines.php on line 152</p><br />
<br />
<br />
<p>Le problème est contourné en renommant le répertoire <br />plugin-dist/porteplume<br />Le problème ne dépend pas du navigateur firefox, edge, chrome<br />Aucun problème sur le SPIP de développement installé avec <br />EasyPHP-devserver sur mon ordinateur perso</p><br />
<br />
<br />
<hr /><br />
<br />
<br />
<p>Vous recevez ce mail car vous êtes impliqués sur ce projet.<br />Pour changer les préférences d'envoi de mail, allez sur <br /><a class="external" href="http://core.spip.net/my/account">http://core.spip.net/my/account</a></p><br />
<br />
<br />
</blockquote><br />
<br />
<p>---<br />Cet email a fait l'objet d'une analyse antivirus par AVG.<br /><a class="external" href='http://www.avg.com/'>http://www.avg.com</a></p>