
Recherche avancée
Médias (2)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (4)
-
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 ; (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...) -
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)
Sur d’autres sites (2781)
-
swscale/x86/input.asm : add x86-optimized planer rgb2yuv functions
24 novembre 2021, par Mark Reidswscale/x86/input.asm : add x86-optimized planer rgb2yuv functions
sse2 only operates on 2 lanes per loop for to_y and to_uv functions, due
to the lack of pmulld instruction. Emulating pmulld with 2 pmuludq and shuffles
proved too costly and made to_uv functions slower then the c implementation.For to_y on sse2 only float functions are generated,
I was are not able outperform the c implementation on the integer pixel formats.For to_a on see4 only the float functions are generated.
sse2 and sse4 generated nearly identical performing code on integer pixel formats,
so only sse2/avx2 versions are generated.planar_gbrp_to_y_512_c : 1197.5
planar_gbrp_to_y_512_sse4 : 444.5
planar_gbrp_to_y_512_avx2 : 287.5
planar_gbrap_to_y_512_c : 1204.5
planar_gbrap_to_y_512_sse4 : 447.5
planar_gbrap_to_y_512_avx2 : 289.5
planar_gbrp9be_to_y_512_c : 1380.0
planar_gbrp9be_to_y_512_sse4 : 543.5
planar_gbrp9be_to_y_512_avx2 : 340.0
planar_gbrp9le_to_y_512_c : 1200.5
planar_gbrp9le_to_y_512_sse4 : 442.0
planar_gbrp9le_to_y_512_avx2 : 282.0
planar_gbrp10be_to_y_512_c : 1378.5
planar_gbrp10be_to_y_512_sse4 : 544.0
planar_gbrp10be_to_y_512_avx2 : 337.5
planar_gbrp10le_to_y_512_c : 1200.0
planar_gbrp10le_to_y_512_sse4 : 448.0
planar_gbrp10le_to_y_512_avx2 : 285.5
planar_gbrap10be_to_y_512_c : 1380.0
planar_gbrap10be_to_y_512_sse4 : 542.0
planar_gbrap10be_to_y_512_avx2 : 340.5
planar_gbrap10le_to_y_512_c : 1199.0
planar_gbrap10le_to_y_512_sse4 : 446.0
planar_gbrap10le_to_y_512_avx2 : 289.5
planar_gbrp12be_to_y_512_c : 10563.0
planar_gbrp12be_to_y_512_sse4 : 542.5
planar_gbrp12be_to_y_512_avx2 : 339.0
planar_gbrp12le_to_y_512_c : 1201.0
planar_gbrp12le_to_y_512_sse4 : 440.5
planar_gbrp12le_to_y_512_avx2 : 286.0
planar_gbrap12be_to_y_512_c : 1701.5
planar_gbrap12be_to_y_512_sse4 : 917.0
planar_gbrap12be_to_y_512_avx2 : 338.5
planar_gbrap12le_to_y_512_c : 1201.0
planar_gbrap12le_to_y_512_sse4 : 444.5
planar_gbrap12le_to_y_512_avx2 : 288.0
planar_gbrp14be_to_y_512_c : 1370.5
planar_gbrp14be_to_y_512_sse4 : 545.0
planar_gbrp14be_to_y_512_avx2 : 338.5
planar_gbrp14le_to_y_512_c : 1199.0
planar_gbrp14le_to_y_512_sse4 : 444.0
planar_gbrp14le_to_y_512_avx2 : 279.5
planar_gbrp16be_to_y_512_c : 1364.0
planar_gbrp16be_to_y_512_sse4 : 544.5
planar_gbrp16be_to_y_512_avx2 : 339.5
planar_gbrp16le_to_y_512_c : 1201.0
planar_gbrp16le_to_y_512_sse4 : 445.5
planar_gbrp16le_to_y_512_avx2 : 280.5
planar_gbrap16be_to_y_512_c : 1377.0
planar_gbrap16be_to_y_512_sse4 : 545.0
planar_gbrap16be_to_y_512_avx2 : 338.5
planar_gbrap16le_to_y_512_c : 1201.0
planar_gbrap16le_to_y_512_sse4 : 442.0
planar_gbrap16le_to_y_512_avx2 : 279.0
planar_gbrpf32be_to_y_512_c : 4113.0
planar_gbrpf32be_to_y_512_sse2 : 2438.0
planar_gbrpf32be_to_y_512_sse4 : 1068.0
planar_gbrpf32be_to_y_512_avx2 : 904.5
planar_gbrpf32le_to_y_512_c : 3818.5
planar_gbrpf32le_to_y_512_sse2 : 2024.5
planar_gbrpf32le_to_y_512_sse4 : 1241.5
planar_gbrpf32le_to_y_512_avx2 : 657.0
planar_gbrapf32be_to_y_512_c : 3707.0
planar_gbrapf32be_to_y_512_sse2 : 2444.0
planar_gbrapf32be_to_y_512_sse4 : 1077.0
planar_gbrapf32be_to_y_512_avx2 : 909.0
planar_gbrapf32le_to_y_512_c : 3822.0
planar_gbrapf32le_to_y_512_sse2 : 2024.5
planar_gbrapf32le_to_y_512_sse4 : 1176.0
planar_gbrapf32le_to_y_512_avx2 : 658.5planar_gbrp_to_uv_512_c : 2325.8
planar_gbrp_to_uv_512_sse2 : 1726.8
planar_gbrp_to_uv_512_sse4 : 771.8
planar_gbrp_to_uv_512_avx2 : 506.8
planar_gbrap_to_uv_512_c : 2281.8
planar_gbrap_to_uv_512_sse2 : 1726.3
planar_gbrap_to_uv_512_sse4 : 768.3
planar_gbrap_to_uv_512_avx2 : 496.3
planar_gbrp9be_to_uv_512_c : 2336.8
planar_gbrp9be_to_uv_512_sse2 : 1924.8
planar_gbrp9be_to_uv_512_sse4 : 852.3
planar_gbrp9be_to_uv_512_avx2 : 552.8
planar_gbrp9le_to_uv_512_c : 2270.3
planar_gbrp9le_to_uv_512_sse2 : 1512.3
planar_gbrp9le_to_uv_512_sse4 : 764.3
planar_gbrp9le_to_uv_512_avx2 : 491.3
planar_gbrp10be_to_uv_512_c : 2281.8
planar_gbrp10be_to_uv_512_sse2 : 1917.8
planar_gbrp10be_to_uv_512_sse4 : 855.3
planar_gbrp10be_to_uv_512_avx2 : 541.3
planar_gbrp10le_to_uv_512_c : 2269.8
planar_gbrp10le_to_uv_512_sse2 : 1515.3
planar_gbrp10le_to_uv_512_sse4 : 759.8
planar_gbrp10le_to_uv_512_avx2 : 487.8
planar_gbrap10be_to_uv_512_c : 2382.3
planar_gbrap10be_to_uv_512_sse2 : 1924.8
planar_gbrap10be_to_uv_512_sse4 : 855.3
planar_gbrap10be_to_uv_512_avx2 : 540.8
planar_gbrap10le_to_uv_512_c : 2382.3
planar_gbrap10le_to_uv_512_sse2 : 1512.3
planar_gbrap10le_to_uv_512_sse4 : 759.3
planar_gbrap10le_to_uv_512_avx2 : 484.8
planar_gbrp12be_to_uv_512_c : 2283.8
planar_gbrp12be_to_uv_512_sse2 : 1936.8
planar_gbrp12be_to_uv_512_sse4 : 858.3
planar_gbrp12be_to_uv_512_avx2 : 541.3
planar_gbrp12le_to_uv_512_c : 2278.8
planar_gbrp12le_to_uv_512_sse2 : 1507.3
planar_gbrp12le_to_uv_512_sse4 : 760.3
planar_gbrp12le_to_uv_512_avx2 : 485.8
planar_gbrap12be_to_uv_512_c : 2385.3
planar_gbrap12be_to_uv_512_sse2 : 1927.8
planar_gbrap12be_to_uv_512_sse4 : 855.3
planar_gbrap12be_to_uv_512_avx2 : 539.8
planar_gbrap12le_to_uv_512_c : 2377.3
planar_gbrap12le_to_uv_512_sse2 : 1516.3
planar_gbrap12le_to_uv_512_sse4 : 759.3
planar_gbrap12le_to_uv_512_avx2 : 484.8
planar_gbrp14be_to_uv_512_c : 2283.8
planar_gbrp14be_to_uv_512_sse2 : 1935.3
planar_gbrp14be_to_uv_512_sse4 : 852.3
planar_gbrp14be_to_uv_512_avx2 : 540.3
planar_gbrp14le_to_uv_512_c : 2276.8
planar_gbrp14le_to_uv_512_sse2 : 1514.8
planar_gbrp14le_to_uv_512_sse4 : 762.3
planar_gbrp14le_to_uv_512_avx2 : 484.8
planar_gbrp16be_to_uv_512_c : 2383.3
planar_gbrp16be_to_uv_512_sse2 : 1881.8
planar_gbrp16be_to_uv_512_sse4 : 852.3
planar_gbrp16be_to_uv_512_avx2 : 541.8
planar_gbrp16le_to_uv_512_c : 2378.3
planar_gbrp16le_to_uv_512_sse2 : 1476.8
planar_gbrp16le_to_uv_512_sse4 : 765.3
planar_gbrp16le_to_uv_512_avx2 : 485.8
planar_gbrap16be_to_uv_512_c : 2382.3
planar_gbrap16be_to_uv_512_sse2 : 1886.3
planar_gbrap16be_to_uv_512_sse4 : 853.8
planar_gbrap16be_to_uv_512_avx2 : 550.8
planar_gbrap16le_to_uv_512_c : 2381.8
planar_gbrap16le_to_uv_512_sse2 : 1488.3
planar_gbrap16le_to_uv_512_sse4 : 765.3
planar_gbrap16le_to_uv_512_avx2 : 491.8
planar_gbrpf32be_to_uv_512_c : 4863.0
planar_gbrpf32be_to_uv_512_sse2 : 3347.5
planar_gbrpf32be_to_uv_512_sse4 : 1800.0
planar_gbrpf32be_to_uv_512_avx2 : 1199.0
planar_gbrpf32le_to_uv_512_c : 4725.0
planar_gbrpf32le_to_uv_512_sse2 : 2753.0
planar_gbrpf32le_to_uv_512_sse4 : 1474.5
planar_gbrpf32le_to_uv_512_avx2 : 927.5
planar_gbrapf32be_to_uv_512_c : 4859.0
planar_gbrapf32be_to_uv_512_sse2 : 3269.0
planar_gbrapf32be_to_uv_512_sse4 : 1802.0
planar_gbrapf32be_to_uv_512_avx2 : 1201.5
planar_gbrapf32le_to_uv_512_c : 6338.0
planar_gbrapf32le_to_uv_512_sse2 : 2756.5
planar_gbrapf32le_to_uv_512_sse4 : 1476.0
planar_gbrapf32le_to_uv_512_avx2 : 908.5planar_gbrap_to_a_512_c : 383.3
planar_gbrap_to_a_512_sse2 : 66.8
planar_gbrap_to_a_512_avx2 : 43.8
planar_gbrap10be_to_a_512_c : 601.8
planar_gbrap10be_to_a_512_sse2 : 86.3
planar_gbrap10be_to_a_512_avx2 : 34.8
planar_gbrap10le_to_a_512_c : 602.3
planar_gbrap10le_to_a_512_sse2 : 48.8
planar_gbrap10le_to_a_512_avx2 : 31.3
planar_gbrap12be_to_a_512_c : 601.8
planar_gbrap12be_to_a_512_sse2 : 111.8
planar_gbrap12be_to_a_512_avx2 : 41.3
planar_gbrap12le_to_a_512_c : 385.8
planar_gbrap12le_to_a_512_sse2 : 75.3
planar_gbrap12le_to_a_512_avx2 : 39.8
planar_gbrap16be_to_a_512_c : 386.8
planar_gbrap16be_to_a_512_sse2 : 79.8
planar_gbrap16be_to_a_512_avx2 : 31.3
planar_gbrap16le_to_a_512_c : 600.3
planar_gbrap16le_to_a_512_sse2 : 40.3
planar_gbrap16le_to_a_512_avx2 : 30.3
planar_gbrapf32be_to_a_512_c : 1148.8
planar_gbrapf32be_to_a_512_sse2 : 611.3
planar_gbrapf32be_to_a_512_sse4 : 234.8
planar_gbrapf32be_to_a_512_avx2 : 183.3
planar_gbrapf32le_to_a_512_c : 851.3
planar_gbrapf32le_to_a_512_sse2 : 263.3
planar_gbrapf32le_to_a_512_sse4 : 199.3
planar_gbrapf32le_to_a_512_avx2 : 156.8Reviewed-by : Paul B Mahol <onemda@gmail.com>
Signed-off-by : James Almer <jamrial@gmail.com> -
ffmpeg chains parameters and options while being used in a loop
10 janvier 2024, par Simon NazarenkoI got a code that generates videos from scratch (got gifs, captions and audio). It works amazing when done once, however, when put in a loop and it should create more than 1 video it freezes being caused by memory leak. Upon investigation I realized that ffmpeg (v1.1.0) chains the loop iterations carrying the parameters and options from the first iteration to the second. It then breaks (overwrites) the first video and infinitely writes the second.


This is my dependency


const ffmpeg = require("fluent-ffmpeg")()
 .setFfprobePath(ffprobe.path)
 .setFfmpegPath(ffmpegInstaller.path)



It looks like this


async function convertGifToVideo(
 gifFile,
 audioFile,
 subtitlesFile,
 tempDirectory
) {
 return new Promise((resolve, reject) => {
 const outputFile = `${tempDirectory}/video_${Date.now()}.mp4`
 
 ffmpeg
 .input(gifFile)
 .inputFormat("gif")
 .inputOptions("-stream_loop -1")
 .input(audioFile)
 .outputOptions("-shortest")
 .outputOptions(`-vf subtitles=${subtitlesFile}`)
 .outputOptions("-report")
 .output(outputFile)
 .on("end", () => {
 console.log(`Combined ${gifFile} and ${audioFile} into ${outputFile}`)
 resolve(outputFile)
 })
 .on("error", (err, stdout, stderr) => {
 console.error("Error combining GIF and audio:", err)
 console.error("ffmpeg stdout:", stdout)
 console.error("ffmpeg stderr:", stderr)
 reject(err)
 })
 .run()
 })
}



And it's called in a loop


for (const key in script) {
 if (script.hasOwnProperty(key)) {
 ...stuff

 const videoFileName = await convertGifToVideo(
 gifFileName,
 audioFileName,
 subtitlesFileName,
 tempDirectory
 )
 }
 }



Here is a piece of log from the first video generation




ffmpeg started on 2024-01-10 at 02:58:52
Report written to "ffmpeg-20240110-025852.log"
Command line :
/home/simon/Documents/AFYTUBE/node_modules/@ffmpeg-installer/linux-x64/ffmpeg -f gif -stream_loop -1 -i ./temp/gif_funny_frogs.gif -i ./temp/funny_frogs.mp3 -y -shortest -vf "subtitles=./temp/funny_frogs.srt" -report ./temp/video_1704880732780.mp4




Here is a piece of log from the second one




/home/simon/Documents/AFYTUBE/node_modules/@ffmpeg-installer/linux-x64/ffmpeg -f gif -stream_loop -1 -i ./temp/gif_funny_frogs.gif -i ./temp/funny_frogs.mp3 -f gif -stream_loop -1 -i ./temp/gif_leg_exercises.gif -i ./temp/leg_exercises.mp3 -y -shortest -vf "subtitles=./temp/funny_frogs.srt" -report -shortest -vf "subtitles=./temp/leg_exercises.srt" -report ./temp/video_1704880732780.mp4 ./temp/video_1704880750879.mp4




Any ideas what I am doing wrong ?


-
What is a Cohort Report ? A Beginner’s Guide to Cohort Analysis
3 janvier 2024, par Erin