
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (56)
-
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. -
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 (...)
Sur d’autres sites (11678)
-
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>

 







-
ffmpeg android porting help me
13 février 2018, par Mr.HanMy development environment is Windows10 - 64bit .
It is set to Android development environment
I am trying to compile ffmpeg.
I installed cygwin and installed cygwin.
gcc related all, dos2unix, make, automake.
ffmpeg version is 3-2.10.-
configure file
BeforeSLIBNAME_WITH_MAJOR=’$(SLIBNAME).$(LIBMAJOR)’
LIB_INSTALL_EXTRA_CMD=’$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"’
SLIB_INSTALL_NAME=’$(SLIBNAME_WITH_VERSION)’
SLIB_INSTALL_LINKS=’$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)’
After
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'-
build_android.sh
!/bin/bash
NDK=c :/Users/storm/AppData/Local/Android/Sdk/ndk-bundle
SYSROOT=$NDK/platforms/android-16/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
CUR=cygpath -m $(pwd)
TEMPDIR=cygpath -m /tmp
TMP=cygpath -m /tmp
function build_one
sed -i ’s/ln_s="ln -s -f"/ln_s="cp -f"/g’ ./configure
./configure \
— prefix=$PREFIX \
— enable-shared \
— disable-static \
— disable-doc \
— disable-ffmpeg \
— disable-ffplay \
— disable-ffprobe \
— disable-ffserver \
— disable-avdevice \
— disable-doc\
— disable-symver \
— cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
— target-os=linux \
— arch=arm \
— enable-cross-compile \
— sysroot=$SYSROOT \
— extra-cflags="-Os -fpic $ADDI_CFLAGS" \
— extra-ldflags="$ADDI_LDFLAGS"\
$ADDITIONAL_CONFIGURE_FLAG
sed -i’:a ;N ;$ !ba ;s/gcc 4.9\r/gcc 4.9/g’ ./config.h
sed -i’:a ;N ;$ !ba ;s/gcc 4.9\r/gcc 4.9/g’ ./config.makmake clean
make
make install
CPU=arm
PREFIX=$CUR/android/$CPU
ADDI_CFLAGS="-marm"
build_one
Where is the problem ?
Please help me. -
-
Audio effect ( a 20ms delay between right and the left channel) using Web Audio API or any Javascript Audio Library like howler.js, tone.js ?
15 juillet 2020, par questionare_101I was wondering if there any option in howler.js, tone.js or any other javascript audio library which I can use to add a 20ms delay between the right and the left channel which makes the audio listening experience more immersive.


Can it be achieved using Audio sprites with howler.js ? (but I guess it can't separate the right and the left channels)
https://medium.com/game-development-stuff/how-to-create-audiosprites-to-use-with-howler-js-beed5d006ac1


Is there any ?


Have also asked the same quest here : https://github.com/goldfire/howler.js/issues/1374


I usually enable this option under ffdshow audio processor while playing audio using MPC-HC (Mega Version) on my pc. I was wondering how can I do it using Web Audio API or howler.js ?




Somewhat like this kind of effect : Just delay the either channel by 20ms
Like we do in Adobe Audition