
Recherche avancée
Médias (1)
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (36)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (4606)
-
No accelerated colorspace conversion found from yuv420p to argb
11 juillet, par Zac ChanI am a novice at ffmpeg and have recently taken over a code base built by a previous engineer. The FFmpeg code is on an app engine that will edit the videos when they are uploaded.


This code generated a title animation that will later be used as an overlay.


exports.generateTitleAnimation = function(metadata, destPath, options = {}) {
const peeqLogoPath = "/app/assets/peeq-logo.png";
const whiteBarMovPath = "/app/assets/whiteBar.mov";
const titleFontPath = "/app/assets/Sofia-Pro-Black.otf";
const dateStrFontPath = "/app/assets/Sofia-Pro-Medium.otf";
const outputDuration = 5.52;
const src01 = "color=c=white:s=1920x1080:duration=" + outputDuration;
const src02 = "color=c=white@0.0:s=1920x1080:r=120:duration=" + outputDuration;

var dateStrXOffset = "(92";
var filterComplexStr = "[1]";

if (metadata.title) {
 const title = metadata.title.toUpperCase();
 filterComplexStr += "drawtext=fontfile=" + titleFontPath + ":text='" + title + "':x='floor(92*(min((t-1.75)^29,0)+max((t-3.75)^29,0)+1))':y=622+30+2:fontsize=70:fontcolor=black:ft_load_flags=render,";
}
if (metadata.subTitle) {
 const subTitle = metadata.subTitle.toUpperCase();
 filterComplexStr += "drawtext=fontfile=" + titleFontPath + ":text='" + subTitle + "':x='floor(92*(min((t-2.0)^29,0.0)+max((t-3.8)^29,0.0)+1.0))':y=622+184-20-60+9:fontsize=46:fontcolor=black:ft_load_flags=render,";

 dateStrXOffset += "+30*" + (subTitle.length + 1);
}
if (metadata.dateStr) {
 filterComplexStr += "drawtext=fontfile=" + dateStrFontPath + ":text='" + metadata.dateStr + "':x='floor(" + dateStrXOffset + ")*(min((t-2.0)^29,0.0)+max((t-3.8)^29,0.0)+1.0))':y=622+184-20-60+9:fontsize=46:fontcolor=black:ft_load_flags=render,";
}
console.log("generateTitleAnimation generating")
filterComplexStr += "split=10[t01][t02][t03][t04][t05][t06][t07][t08][t09][t10];[t02]setpts=PTS+0.0166/TB[d02];[t03]setpts=PTS+0.033/TB[d03];[t04]setpts=PTS+0.05/TB[d04];[t05]setpts=PTS+0.0666/TB[d05];[t06]setpts=PTS+0.083/TB[d06];[t07]setpts=PTS+0.1/TB[d07];[t08]setpts=PTS+0.1166/TB[d08];[t09]setpts=PTS+0.133/TB[d09];[t10]setpts=PTS+0.15/TB[d10];[d10][d09]blend=average,[d08]blend=darken,[d07]blend=average,[d06]blend=darken,[d05]blend=average,[d04]blend=darken,[d03]blend= average,[d02]blend=darken,[t01]blend=average,colorkey=white:0.2:0.0,perspective=y1=W*0.176327:y3=H+W*0.176327[text01];[2][3]overlay=x=(W-w)*0.5:y=(H-h)*0.5:enable='between(t,0,3.0)'[logo01];[logo01][text01]overlay[outv]";

var args = ["-y", "-f", "lavfi", "-i", src01, "-f", "lavfi", "-i", src02, "-i", whiteBarMovPath, "-i", peeqLogoPath, "-filter_complex", filterComplexStr, "-vcodec", "qtrle", "-crf:v", "28", "-codec:a", "aac", "-ac", "2", "-ar", "44100", "-ab", "128k", "-map", "[outv]", destPath];

//console.log("args", args);
return childProcess.spawn('ffmpeg', args).then((ffResult) => {
 return destPath;
}, (err) => {
 //console.error(new Error("generateTitleAnimation:" + err));
 console.error(err);
 return Promise.reject(err);
});};



destPath is a .mov file


Up till a few days ago, the backend started throwing up this error


stderr: 'ffmpeg version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018
 the FFmpeg developers\n built with gcc 5.4.0 (Ubuntu 5.4.0-
6ubuntu1~16.04.9) 20160609\n configuration: --prefix=/usr --extra-
version=\'1~16.04.york0.2\' --toolchain=hardened --
libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --
enable-gpl --disable-stripping --enable-avresample --enable-avisynth --
enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --
enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --
enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-
libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-
libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --
enable-librubberband --enable-librsvg --enable-libshine --enable-
libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-
libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --
enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 -
-enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-
openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --
enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-
libopencv --enable-libx264 --enable-shared\n libavutil 55. 78.100 / 55.
 78.100\n libavcodec 57.107.100 / 57.107.100\n libavformat 57. 83.100 /
 57. 83.100\n libavdevice 57. 10.100 / 57. 10.100\n libavfilter 
6.107.100 / 6.107.100\n libavresample 3. 7. 0 / 3. 7. 0\n libswscale 4.
 8.100 / 4. 8.100\n libswresample 2. 9.100 / 2. 9.100\n libpostproc 54.
 7.100 / 54. 7.100\nInput #0, lavfi, from 
\'color=c=white:s=1920x1080:duration=5.52\':\n Duration: N/A, start: 
0.000000, bitrate: N/A\n Stream #0:0: Video: rawvideo (I420 / 
0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25
 tbc\nInput #1, lavfi, from 
\'color=c=white@0.0:s=1920x1080:r=120:duration=5.52\':\n Duration: N/A,
 start: 0.000000, bitrate: N/A\n Stream #1:0: Video: rawvideo (I420 /
 0x30323449), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 120 fps, 120 tbr,
 120 tbn, 120 tbc\nInput #2, mov,mp4,m4a,3gp,3g2,mj2, from 
\'/app/assets/whiteBar.mov\':\n Metadata:\n major_brand : qt \n 
minor_version : 537199360\n compatible_brands: qt \n creation_time : 
2018-04-27T15:55:18.000000Z\n Duration: 00:00:05.52, start: 0.000000, 
bitrate: 54847 kb/s\n Stream #2:0(eng): Video: qtrle (rle / 
0x20656C72), bgra(progressive), 1920x1080, 53326 kb/s, SAR 1:1 DAR 16:9, 60 
fps, 60 tbr, 60 tbn, 60 tbc (default)\n Metadata:\n creation_time : 
2018-04-27T15:55:18.000000Z\n handler_name : Apple Alias Data Handler\n
 encoder : Animation\n timecode : 00:00:00:00\n Stream #2:1(eng): Data:
 none (tmcd / 0x64636D74), 0 kb/s (default)\n Metadata:\n creation_time
 : 2018-04-27T15:55:18.000000Z\n handler_name : Apple Alias Data
 Handler\n timecode : 00:00:00:00\nInput #3, png_pipe, from 
\'/app/assets/peeq-logo.png\':\n Duration: N/A, bitrate: N/A\n Stream 
#3:0: Video: png, rgba(pc), 452x207 [SAR 2834:2834 DAR 452:207], 25 
tbr, 25 tbn, 25 tbc\nCodec AVOption crf (Select the quality for 
constant quality mode) specified for output file #0 (/tmp/972967.mov) 
has not been used for any stream. The most likely reason is either 
wrong type (e.g. a video option with no video streams) or that it is a 
private option of some encoder which was not actually used for any 
stream.\nCodec AVOption b (set bitrate (in bits/s)) specified for 
output file #0 (/tmp/972967.mov) has not been used for any stream. The 
most likely reason is either wrong type (e.g. a video option with no 
video streams) or that it is a private option of some encoder which was 
not actually used for any stream.\nStream mapping:\n Stream #1:0 
(rawvideo) -> drawtext\n Stream #2:0 (qtrle) -> overlay:main\n Stream 
#3:0 (png) -> overlay:overlay\n overlay -> Stream #0:0 (qtrle)\nPress 
[q] to stop, [?] for help\n[swscaler @ 0x56080b828180] No accelerated 
colorspace conversion found from yuv420p to argb.\n[swscaler @ 
0x56080b8b5f40] No accelerated colorspace conversion found from yuva420p to argb.\n',



However, this error only occurs on the app engine. Running nom test on my Mac generates the title perfectly.


-
Matomo Launches Global Partner Programme to Deepen Local Connections and Champion Ethical Analytics
25 juin, par Matomo Core Team — Press Releases -
Evolution #3926 : Remplacement de safehtml par le plug htmlpurifier ou autre
14 janvier 2019, par Guillaume FahrnerSorry je n’avais pas vu ce message :
cedric - a écrit :
Depuis https://core.spip.net/projects/spip/repository/revisions/24131 le plugin HTMLPurifier est fonctionel sans nécessiter de patch dans le core ?
Malheureusement si : il reste une surcharge de la fonction propre() via inc/texte.php. Elle est utilisée pour réaliser la protection HTML via echappe_html() AVANT le 1er filtrage de sécurité via echapper_html_suspect(). Un deuxième est réalisé via echappe_retour_modeles($t, $interdire_script) ou $interdire_script est vrai en espacé privé ou si le mode parano actif et faux sinon. (Je n’ai pas su faire autrement, mais il y a peut être une astuce a trouver.)
Je ne sais pas si tu considères que c’est le core mais une surchage des règles YAML de textwheel est également réalisé afin que l’on envoi bien tout qui doit l’être dans les filtres de sécurité.
Donc non pas de modification du core nécessaire pour que le plugin fonctionne. A voir si ces surcharges mériterais une "intégration directe" future.
on est bon et on peut release tel quel en indiquant que le plugin htmlpurifier est disponible pour tests et se laisser le temps ?
A mon avis oui. Pour rappel : le mode parano est actuellement inutilisable avec l’actuel safehtml(). Du coup ça peut être une approche pour l’intégrer/le tester au fil de l’eau : commencé par les gens qui utilisent le mode parano en leur recommandant chaudement/forcant ce plugin.
Ci dessous la liste des plugins que j’utilise sans problème hors textwheel/todo (cf https://core.spip.net/issues/4254) avec htmlPurifier :
Abonnements 3.3.6 - stable
Agenda 3.26.0 - stable
API de vérification 1.8.1 - stable
API Prix 0.1.16 - dev
Article PDF 1.0.10 - stable
Autorité 0.10.20 - stable
Banque&paiement 3.6.7 - stable
Cache Cool 0.5.4 - stable
Challenge Hacking 1.0.0 - stable
Champs Extras 3.11.7 - stable
Chatbox 1.0.5 - stable
Coloration Code 99 - stable
Commandes 1.15.5 - stable
Compositions 3.7.3 - stable
Crayons 1.26.18 - stable
CTF all the day 1.0.0 - stable
Facteur 3.6.2 - stable
Formulaire de contact avancé 0.16.5 - stable
Frimousses 1.5.1 - stable
GIS 4.44.24 - stable
HTML Purifier 5.0.0.1 - test
iCalendar 0.4.5 - test
Import ics 4.4.3 - stable
Imprimer document 0.2.2 - stable
LangOnet 1.4.6 - stable
MailShot 1.27.3 - stable
MailSubscribers 2.11.3 - stable
Markdown 1.0.2 - test
Messagerie 3.1.8 - test
Mini Calendrier 2.4.1 - stable
Mot de passe dès l’inscription 1.0.19 - stable
Newsletters 1.6.0 - stable
Nombres de visiteurs connectés 0.2.3 - stable
NoSPAM 1.5.18 - stable
Notation 2.4.2 - test
Notifications 3.6.8 - stable
Notifications avancées 0.4.2 - test
Pages 1.3.7 - stable
Pre & Code 99 - test
Saisies pour formulaires 3.11.1 - stable
Social tags 1.1.1 - stable
SPIP Bonux 3.4.6 - stable
Tip A Friend 1.6.9 - stable
Todo 2.2.1 - stable
Traduction entre rubriques 3.1.3 - stable
YAML 1.5.4 - stableJe pense que si on doit intégrer le plugin ça sera sur la version dev 3.3, pas sur la version stable, et ça va demander de prendre le temps de voir toutes les modifs et les impacts éventuels que tu n’aurais pas vu ou auxquelles tu n’aurais pas pensé.
Clairement je pense me faire insulter :-) Je suis prêt ^^ Plus sérieusement il faut absolument tester/restester/reretester. J’ai tenté de faire au mieux mais je ne peux pas revoir tout le code HTML généré par les plugins... Au moindre écart de conformité HTML ca ne passera pas. Le bug https://core.spip.net/issues/4254 en est un bon exemple : avec htmlpurifier l’élément
est supprimé ; avec "safehtml() standard" le code invalide est conservé et c’est le navigateur qui va corriger.
Il faut voir les bons cotés : cela force les bonnes pratiques, met SPIP au plus haut niveau du standard (Drupal fait moins bien), aide a identifier des bugs et ce qui passe dans propre() sera obligatoirement valide. C’est aussi a terme moins de problèmes d’injection XSS a traiter pour la team.
Sur la fonction de survol des logos le sujet reste ouvert ? On est en effet d’accord que cette écriture est obsolète et devrait être revue de toute façon, mais c’est donc un point à traiter dans le core le cas échéant
Euh je comprend pas, faut-il intégrer le patch des puces de statut dans ce plugin ? Je pensais plus coder le truc """proprement""" avec un JS dans le directement dans /prive/. A décolérer complètement à mon sens.
Encore merci pour le temps que tu y passes :)