
Recherche avancée
Médias (91)
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
-
Les Miserables
4 juin 2012, par
Mis à jour : Février 2013
Langue : English
Type : Texte
-
Ne pas afficher certaines informations : page d’accueil
23 novembre 2011, par
Mis à jour : Novembre 2011
Langue : français
Type : Image
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Richard Stallman et la révolution du logiciel libre - Une biographie autorisée (version epub)
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (64)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (12893)
-
Inconsistent crop and overflay ffmpeg result with drawImage canvas
21 juin 2022, par yuno sagai try to encode the video block frame to specific pattern order, then in front-end it decode back to normal. I test it in back-end by decode back with same function, it back to normal. but in front-end with canvas the order of block not in right position. if you look into front-end function. it have same pattern. i try to check output from
for
generate, it equal tofor
in backend overlay builder command.

whats wrong with this ?

ffmpeg config


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

function hflip(width) {
 const sizeBlock = 16;
 let filterCommands = '';
 const length = Math.floor(width / sizeBlock);

 for (let i=0; i < length; i++) { 
 filterCommands += `[0]crop=${sizeBlock}:480:${(i*sizeBlock)}:0[c${i}];`;
 }
 
 for (let i=0; i < length; i++) {
 if (i == 0) filterCommands += '[0]';
 if (i != 0) filterCommands += `[o${i}]`;
 
 filterCommands += `[c${i}]overlay=x=${(width - sizeBlock)-(i*sizeBlock)}:y=0`;
 
 if (i != (length - 1)) filterCommands += `[o${i+1}];`;
 }

 return filterCommands;
}

const crops = spawn('ffmpeg', [
 '-i',
 'C:/Software Development/project/blackpink.mp4',
 '-filter_complex',
 hflip(854),
 '-c:a',
 'copy',
 '-c:v',
 'libx264',
 '-crf',
 '30',
 '-preset',
 'ultrafast',
 '-pix_fmt',
 'yuv420p',
 'C:/Software Development/project/hflip.mp4',
 '-y'
], {
 cwd: 'C:/Software Development/ffmpeg'
})



front-end






 
 
 <button>play</button>
 <code class="echappe-js"><script>&#xA; const canvas = document.createElement(&#x27;canvas&#x27;);&#xA; document.body.appendChild(canvas)&#xA; const context = canvas.getContext(&#x27;2d&#x27;);&#xA; const video = document.createElement(&#x27;video&#x27;);&#xA; video.src = &#x27;https://drive.google.com/uc?export=download&amp;id=1Z0aFg_N3kP0SUO_xOFB0UBjTRH6_mSmb&amp;confirm=t&#x27;&#xA;&#xA;&#xA; function hflip(video) {&#xA; const widthBlock = 16;&#xA; const heightBlock = 480;&#xA; const length = Math.floor(video.videoWidth / widthBlock);&#xA;&#xA; for (let i=0; i < length; i&#x2B;&#x2B;) {&#xA; console.log({&#xA; cX: (i*widthBlock),&#xA; oX: (video.videoWidth - widthBlock) - (i*widthBlock)&#xA; });&#xA;&#xA; context.drawImage(video, (i*widthBlock), 0, widthBlock, heightBlock, (video.videoWidth - widthBlock) - (i*widthBlock), 0, widthBlock, heightBlock)&#xA; }&#xA; }&#xA;&#xA; video.onloadedmetadata = () => {&#xA; context.canvas.width = video.videoWidth;&#xA; context.canvas.height = video.videoHeight;&#xA; }&#xA;&#xA; video.onplay = () => {&#xA; const updateCanvas = () => {&#xA; hflip(video); &#xA;&#xA; video.requestVideoFrameCallback(updateCanvas);&#xA; }&#xA;&#xA; updateCanvas();&#xA; }&#xA;&#xA; function play() { video.play() }&#xA; </script>

 







-
Resources for learning Metal for Video Editing [on hold]
28 septembre 2019, par Andrew SawyerI am trying to build a video editing system in Swift for my iOS app. I assume that Metal would be the best system for this as it is extremely powerful. I am unsure where to start learning about Metal because most resources are related to game development.
In V1 of my app I have used AVFoundation and an AVMutableComposition. However, in this version I need something more complex where I am able to do more effects, layering, etc.
Is Metal the best way to do this or would another method (FFMpeg, Open GL, etc.) be better ?
If so, what are the best resources to learn how to use Metal for this application ?Thank You !
-
HTML5 multi-track audio or video
2 juin 2012, par silviaIn the last months, we’ve been working hard at the WHATWG and W3C to spec out new HTML markup and a JavaScript interface for dealing with audio or video content that has more than just one audio and video track. This is particularly relevant when a Web page author wants to add a sign language (...)