
Recherche avancée
Médias (91)
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Paul Westerberg - Looking Up in Heaven
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Le Tigre - Fake French
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Thievery Corporation - DC 3000
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Dan the Automator - Relaxation Spa Treatment
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Gilberto Gil - Oslodum
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (28)
-
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 (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...)
Sur d’autres sites (5079)
-
how to remove multiple parts from a video, using ffmpeg ?
26 septembre 2023, par jojohow to remove multiple parts from a video ?
for example i have a video of one minute and i want to delete following segments :


from second 0.0 to second 10.0
from second 20.0 to second 30.0
from second 40.0 to second 45.0


please remember i want to delete above mentioned segments, the output should not include these segments.
i have already tried all the answers, but they are all joining the trimmed segments, which i don't want.e.g :


ffmpeg -i foo.mp4 -filter_complex "[0:v]trim=duration=30[av];[0:a]atrim=duration=30[aa];[0:v]trim=start=40:end=50,setpts=PTS-STARTPTS[bv];[0:a]atrim=start=40:end=50,asetpts=PTS-STARTPTS[ba];[0:v]trim=start=80,setpts=PTS-STARTPTS[cv];[0:a]atrim=start=80,asetpts=PTS-STARTPTS[ca];[av][aa][bv][ba][cv][ca]concat=n=3:v=1:a=1" out.mp4



thank you.
note :(python version also accepted.)


-
Merging parts of GOPRO clips with concat filter produces the ffmpeg buffer error
17 septembre 2023, par Sailor JerryHere is my command line :


ffmpeg -y -ss 670497ms -i "GX030058.MP4" -to 25977ms -i "GX040058.MP4" \
 -filter_complex \
"[0][1]concat=v=1:a=1 [concv] [conca]" \
 -map [concv] -map [conca] \
 "out.mp4"



it produces the following error and the audio goes out of sync


[out_0_0 @ 0x7fca2d508bc0] 100 buffers queued in out_0_0, something may be wrong.s speed=0.539x 
[out_0_1 @ 0x7fca2d5093c0] 100 buffers queued in out_0_1, something may be wrong.
[out_0_1 @ 0x7fca2d5093c0] 1000 buffers queued in out_0_1, something may be wrong.



If I just issue command :


ffmpeg -y -ss 670497ms -i "GX030058.MP4" -to 25977ms -i "GX040058.MP4" "out.mp4"



Then audio has no problems.


The reason I use the filter, because the actual filter is more complex and also includes adding the overlay to these concatenated clips, but the problem exists even with concat operation only.


-
Dynamically record parts of a video stream using ffmpeg based on incoming events
12 septembre 2023, par ganjimSay I have a RTSP stream running on some server.


I want to record parts of this video stream based on some events that will come up on my machine.
My goal is to record 10 seconds before up to 10 seconds after the PTS in any received event. Consider that I have a way to synchronize the PTS between the sender and the receiver, but by the time I receive the events, its already streamed and is in the past.
So I either need to have the ffmpeg command running already, or to have buffered streaming video in my memory.


I just added some code with comments as a way to simulate the situation, it is not complete as I still don't have a working solution. But I'm looking to understand if ffmpeg has capabilities for dealing with rtsp streams suitable for this situation.


const { spawn } = require('child_process');

function processEvent(event){
 
 let startTime = event.pts - 10
 let endTime = event.pts + 10

 const ffmpegArgs = [
 '-i', "rtspUrl",
 '-ss', startTime.toString(),
 '-to', endTime.toString(),
 '-c', 'copy',
 '-f', 'mp4',
 `output_${startTime}_${endTime}.mp4` // Output filename
 ];
 // Here it is obviously not possible to give ffmpeg a negative startTime.
 // We either have to have spawned the ffmpeg command and somehow give it a starting time for recording on demand or have a buffering system in place.
 // Having a buffer to store every raw frame and then attach them after endTime is also considerably CPU and memory intensive.
 // Looking for alternative ways to achieve the same output.

 const ffmpegProcess = spawn('ffmpeg', ffmpegArgs, {
 stdio: 'inherit'
 });
}

// Code to simulate the events:
// imagine these pts to be relative to Date.now(), so using negative PTS to show the events are going to be in the past by the time we receive them.
setTimeout(() => {
 const event1= { pts: -30 };
 processEvent(event1);
}, 1000);

setTimeout(() => {
 const event2 = { pts: -20 };
 processEvent(event2);
}, 5000);