
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (68)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs.
Sur d’autres sites (8033)
-
Deobfuscation Redux : JavaScript
Google recently released version 12 of their Chrome browser. This version adds a new feature that automatically allows deobfuscating obfuscated JavaScript source code.
Before :
After :
As a reverse engineering purist, I was a bit annoyed. Not at the feature, just the naming. This is clearly code beautification but not necessarily deobfuscation. The real obfuscation comes not from removing whitespace but from renaming variable and function names to terse 1- and 2-letter identifiers. True automated deobfuscation — which entails recovering the original variable and function identifiers as well as source code comments — is basically impossible.
Still, it makes me wonder if there is any interest in a JavaScript deobfuscator that operates similar to my Java deobfuscator which was one of the first things I published on this blog. The general idea is automatically replace function names with random English verbs (since functions correspond to actions) and variable names with random animal names (I decided "English nouns" encompassed too broad a category of words). I suspect the day that someone releases a proprietary multimedia codec in a pure (though obfuscated) JavaScript format is that day that I will try to accomplish this, if it hasn’t been done already.
See also :
-
'arecord' works but FFMPEG 'cannot open audio device'
16 mai 2020, par kwithnailOn my Linux-based QNAP NAS, I can successfully record my Loopback audio device using :



# arecord -D default:CARD=Loopback test.wav




However, FFMPEG cannot use this same audio device. It returns :



[alsa @ 0x5a45880] cannot open audio device hw:default:CARD=Loopback (No such file or directory)
hw:default:CARD=Loopback: Input/output error




I've also tried any number of
hw:
options in FFMPEG. For what it's worth, the arecord -l command returns :


**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC262 Analog [ALC262 Analog]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
 Subdevices: 1/1
 Subdevice #0: subdevice #0




arecord -L returns :



[~] # arecord -L
null
 Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=PCH
 HDA Intel PCH, ALC262 Analog
 Default Audio Device
front:CARD=PCH,DEV=0
 HDA Intel PCH, ALC262 Analog
 Front speakers
sysdefault:CARD=Loopback
 Loopback, Loopback PCM
 Default Audio Device
front:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 Front speakers
surround21:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 4.0 Surround output to Front and Rear speakers
surround41:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Loopback,DEV=0
 Loopback, Loopback PCM
 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers




FFMPEG command and response is :



[~] # /share/CACHEDEV1_DATA/.qpkg/ffmpeg/ffmpeg -f alsa -i hw:default:CARD=Loopback test.mp3
ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
ALSA lib ../../../src/pcm/pcm.c:2564:(snd_pcm_open_noupdate) Unknown PCM hw:default:CARD=Loopback
[alsa @ 0x5f64800] cannot open audio device hw:default:CARD=Loopback (No such file or directory)
hw:default:CARD=Loopback: Input/output error




FFMPEG -sources alsa gives :



[~] # /share/CACHEDEV1_DATA/.qpkg/ffmpeg/ffmpeg -sources alsa
ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Auto-detected sources for alsa:
ALSA lib ../../../src/control/control.c:1375:(snd_ctl_open_noupdate) Invalid CTL hw:0
Cannot list sources.




Can anyone shed some light on why this is impossible in FFMPEG and suggest what I'm doing wrong here ? FFMPEG includes the ALSA module, and is version 4.2.1. Thanks !


-
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>