
Recherche avancée
Autres articles (55)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Qu’est ce qu’un masque de formulaire
13 juin 2013, parUn masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
Chaque formulaire de publication d’objet peut donc être personnalisé.
Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...) -
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 (12303)
-
Output file using FFmpeg in Xamarin Android
28 juillet 2022, par Ahmed MujtabaI'm building an android app using Xamarin. The requirement of the app is to capture video from the camera and encode the video to send it across to a server.



Initially, I was using an encoder library on the server-side to encode recorded video but it was proving to be extremely unreliable and inefficient especially for large-sized video files. I have posted my issues on another thread here



I then decided to encode the video on the client-side and then send it to the server. I've found encoding to be a bit complicated and there isn't much information available on how this can be done. So, I searched for the only way I knew how to encode a video that is by using FFmpeg codec. I've found some solutions. There's a project on GitHub that demonstrates how FFmpeg is used inside a Xamarin android project. However, running the solution doesn't give any output. The project has a binary FFmpeg file which is installed to the phone directory using the code below :



_ffmpegBin = InstallBinary(XamarinAndroidFFmpeg.Resource.Raw.ffmpeg, "ffmpeg", false);




Below is the example code for encoding video into a different set of outputs :



_workingDirectory = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
var sourceMp4 = "cat1.mp4";
var destinationPathAndFilename = System.IO.Path.Combine (_workingDirectory, "cat1_out.mp4");
var destinationPathAndFilename2 = System.IO.Path.Combine (_workingDirectory, "cat1_out2.mp4");
var destinationPathAndFilename4 = System.IO.Path.Combine (_workingDirectory, "cat1_out4.wav");
if (File.Exists (destinationPathAndFilename))
 File.Delete (destinationPathAndFilename);
CreateSampleFile(Resource.Raw.cat1, _workingDirectory, sourceMp4);


var ffmpeg = new FFMpeg (this, _workingDirectory);

var sourceClip = new Clip (System.IO.Path.Combine(_workingDirectory, sourceMp4));

var result = ffmpeg.GetInfo (sourceClip);

var br = System.Environment.NewLine;

// There are callbacks based on Standard Output and Standard Error when ffmpeg binary is running as a process:

var onComplete = new MyCommand ((_) => {
 RunOnUiThread(() =>_logView.Append("DONE!" + br + br));
});

var onMessage = new MyCommand ((message) => {
 RunOnUiThread(() =>_logView.Append(message + br + br));
});

var callbacks = new FFMpegCallbacks (onComplete, onMessage);

// 1. The idea of this first test is to show that video editing is possible via FFmpeg:
// It results in a 150x150 movie that eventually zooms on a cat ear. This is desaturated, and there's a fade-in.

var filters = new List<videofilter> ();
filters.Add (new FadeVideoFilter ("in", 0, 100));
filters.Add(new CropVideoFilter("150","150","0","0"));
filters.Add(new ColorVideoFilter(1.0m, 1.0m, 0.0m, 0.5m, 1.0m, 1.0m, 1.0m, 1.0m));
var outputClip = new Clip (destinationPathAndFilename) { videoFilter = VideoFilter.Build (filters) };
outputClip.H264_CRF = "18"; // It's the quality coefficient for H264 - Default is 28. I think 18 is pretty good.
ffmpeg.ProcessVideo(sourceClip, outputClip, true, new FFMpegCallbacks(onComplete, onMessage));

//2. This is a similar version in command line only:
string[] cmds = new string[] {
 "-y",
 "-i",
 sourceClip.path,
 "-strict",
 "-2",
 "-vf",
 "mp=eq2=1:1.68:0.3:1.25:1:0.96:1",
 destinationPathAndFilename2,
 "-acodec",
 "copy",
};
ffmpeg.Execute (cmds, callbacks);

// 3. This lists codecs:
string[] cmds3 = new string[] {
 "-codecs",
};
ffmpeg.Execute (cmds, callbacks);

// 4. This convers to WAV
// Note that the cat movie just has some silent house noise.
ffmpeg.ConvertToWaveAudio(sourceClip, destinationPathAndFilename4, 44100, 2, callbacks, true);
</videofilter>



I have tried different commands but no output file is generated. I have tried to use another project found here but this one has the same issue. I don't get any errors but no output file is generated. I'm really hoping someone can help me find a way I can manage to use FFmpeg in my project or some way to compress video to transport it to the server.



I will really appreciate if someone can point me in the right direction.


-
Anomalie #4562 : Suite #4468 : Unification des CSS pour les boutons et les icônes
17 février 2021Bon bon bon, on a pas mal réfléchi au sujet avec rastapopoulos, et je crois qu’on est arrivé à une solution satisfaisante.
En tout cas une solution qui répond complètement aux problèmes et besoins soulevés dans ce ticket, en ce qui me concerne.Le problème était de ne traiter des icônes que sous l’angle d’une utilisation dans des boutons, de ne le faire qu’à moitié en proposant un jeu d’icônes très restreint, et avec des icônes pas toutes prévues pour cette utilisation qui plus est.
Dans l’immédiat, pour clôturer ce ticket au plus vite, il s’agirait de faire ça :
- dans le CSS, retirer complètement les variantes de boutons avec icônes :
.bouton_add
,.bouton_supprimer
, etc. (ça sera fait différemment et mieux). - renommer la classe
.bouton
en.btn
: c’est moins verbeux et on comprend aussi bien. - préfixer les variantes génériques qui restent :
.btn_mini
au lieu de.btn mini
, etc. - finir les derniers petits ajustement visuels.
Avec ça le ticket pourra enfin être fermé.
Mais alors comment fait-on pour avoir des icônes dans les boutons ?
C’est l’étape suivante.Des icônes¶
On s’est dit, tant qu’à faire, autant proposer tout de suite un jeu complet d’icônes symboliques.
Les besoins sont multiples pour pleins d’éléments d’interface, dans les plugins et dans le core : plier/déplier des trucs, dupliquer un contenu, afficher un menu, remonter dans la hiérarchie, etc., etc. (je fais vite).
Et chacun doit réimplémenter ça un peu à sa sauce.On reprendrait un jeu d’icônes existant, qu’on n’aura pas à maintenir, optimisé, et qui fournit des icônes cohérentes visuellement, utilisables dans tous les contextes.
Il y a plusieurs choix de jeux d’icônes libres : Bootstrap-icons, Octicon, Material, Entypo, etc.Ces icônes seraient utilisables de 2 façons :
1. Des classes¶
Quand il s’agit d’icônes purement décoratives, des classes que l’on peut ajouter à n’importe quel élément inline.
Pour éviter les conflits, on propose la contraption de spip + icon = spicon.
Cette solution utilise une fontface, l’icône hérite de la taille et de la couleur du texte.Pour les boutons, même principe : la classe signifie « ajoute une icône dans cet élément »
Exemples :
<span class="CodeRay"><span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">spicon_menu</span><span class="delimiter">"</span></span><span class="tag">></span>Ouvrir le menu<span class="tag"></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">spicon_truc</span><span class="delimiter">"</span></span><span class="tag">></span><span class="tag"></span> Du texte
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">titrem spicon_machin</span><span class="delimiter">"</span></span><span class="tag">></span>Mon titre<span class="tag"></span>
</span></span></span></span>2. Une balise #ICON¶
En complément, on peut vouloir embarquer une icône svg dans le HTML.
On propose de reprendre et d’adapter la super balise #ICON du plugin Zcore, qui fait ça très bien.
Cette balise permet d’embarquer une icône du set par défaut, mais également n’importe quelle autre (je rentre pas dans les détails).Un modèle correspondant permettra aussi d’inclure des icônes svg dans les textes :
<span class="CodeRay">#ICONE{identifiant}
#ICONE{chemin/vers/mon_icone.svg}
#ICONE{#identifiant_autre_set}
</span>Identifiants sémantiques¶
Les identifiants des icônes seront directement ceux du jeu d’icônes choisi.
Mais ils peuvent avoir des noms un peu barbares :chevron-double-right
,eye-slash
,grip-vertical
, etc.Dans tous les cas on pourra les utiliser tels quels, mais en plus de ça, on propose de faire une correspondance sémantique pour les icônes correspondants aux actions les plus courantes. Par exemple au lieu de faire
#ICONE{chevron-double-down}
on pourra faire#ICONE{deplier}
.La liste initiale est visible ici : https://demo.hedgedoc.org/3zIXkcFLTVSwV0nKC1_qcA?both
Voilà, je crois que c’est tout, rastapopoulos tu complètera si j’ai oublié des trucs.
Peut-être qu’on peut partir sur un nouveau ticket pour ce sujet et la branche dev qui ira avec.À vous les studios.
- dans le CSS, retirer complètement les variantes de boutons avec icônes :
-
Revision 36454 : uniformiser les inputs du formulaire de login
19 mars 2010, par brunobergot@… — Loguniformiser les inputs du formulaire de login