
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (76)
-
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)
Sur d’autres sites (10462)
-
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. -
-
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>

 







-
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 (...)