
Recherche avancée
Médias (1)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (26)
-
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (2879)
-
Wowza RTMP to RTSP
3 août 2016, par NmasWe’re using a Raspicam to stream live video to a client using Wowza Streaming Engine. We use FFMPEG to encode and send to Wowza and we can succesfully watch the RTMP stream using JWPlayer. This is the FFMPEG command used :
ffmpeg -t 0 -s 320x240 -f video4linux2 -i /dev/video0 -b:v 250k -tune zerolatency -preset ultrafast -f flv -r 15 rtmp://wowzaaddress:1935/live/live
To be able to watch the stream on mobile devices we want to use RTSP or HLS which Wowza provides links to, however when we use those links (provided on the Test Player) nothing happens and we can’t even open them to test for example in VLC. We have already added the extra ports on our web server to see if that was the problem and still didn’t work.
Does anybody know what the problem is or what could we be doing wrong ? -
Download youtube video duration using youtube-dl PHP and ffmpeg
20 juillet 2016, par user3285828Is there any more efficient way to download youtube videos at a specific start and end time using youtube-dl and ffmpeg in PHP.
I currently have this, which does work, it first downloads the whole video to an mp3 file, and then crops that file to the range I set using ffmpeg, but when I only want 30 seconds or so of a 20 minute video, waiting for the full video to download doesn’t seem the best way to do it.
<?php
require __DIR__ . '/vendor/autoload.php';
use YoutubeDl\YoutubeDl;
$dl = new YoutubeDl([
'extract-audio' => true,
'audio-format' => 'mp3',
'audio-quality' => 0, // best
'output' => 'videoname.%(ext)s',
]);
$dl->setDownloadPath('C:\youtubevideos');
$video = $dl->download('https://www.youtube.com/watch?v=oDAw7vW7H0c');
$start = 60; // Start 60 seconds in to the video
$duration = 30; // Get 30 seconds after $start
$fullVideo = "C:\youtubevideos\videoname.mp3";
$shortVideo = "C:\youtubevideos\short\shortversion.mp3"; // create 30 seconds
exec("ffmpeg -ss $start -i $fullVideo -t $duration -c copy $shortVideo");
exec("DEL $fullVideo");I am using youtube dl PHP https://github.com/norkunas/youtube-dl-php
-
IO.copy_stream performance in ruby
19 juillet 2016, par stiller_leserI am trying to continously read a file in ruby (which is growing over time and needs to be processed in a separate process). Currently I am archiving this with the following bit of code :
r,w = IO.pipe
pid = Process.spawn('ffmpeg'+ffmpeg_args, {STDIN => r, STDERR => STDOUT})
Process.detach pid
while true do
IO.copy_stream(open(@options['filename']), w)
sleep 1
endHowever - while working - I can’t imagine that this is the most performant way of doing it. An alternative would be to use the following variation :
step = 1024*4
copied = 0
pid = Process.spawn('ffmpeg'+ffmpeg_args, {STDIN => r, STDERR => STDOUT})
Process.detach pid
while true do
IO.copy_stream(open(@options['filename']), w, step, copied)
copied += step
sleep 1
endwhich would only continously copy parts of the file (the issue here being if the step should ever overreach the end of the file). Other approaches such a simple read-file led to ffmpeg failing when there was no new data. With this solution the frames are dropped if no new data is available (which is what I need).
Is there a better way (more performant) to archive something like that ?
EDIT :
Using the method proposed by @RaVeN I am now using the following code :
open(@options['filename'], 'rb') do |stream|
stream.seek(0, IO::SEEK_END)
queue = INotify::Notifier.new
queue.watch(@options['filename'], :modify) do
w.write stream.read
end
queue.run
endHowever now ffmpeg complaints about invalid data. Is there another method than
read
?