
Recherche avancée
Autres articles (41)
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
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 -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (8538)
-
Evolution #4391 : Squelettes de la dist : améliorer le markup et passer à BEM
14 octobre 2019, par tcharlss (*´_ゝ`)j’utiliserais plutôt un modifier de "menu__item" :
<li class="menu__item menu__item--plan"></li>
Cf. remarque de RastaPopoulos (qui a posté pendant que j’écrivais ma réponse :p)
Il y a encore beaucoup de guides officieux qui ne sont pas à jour sur ce point.
Le guide officiel : https://en.bem.info/methodology/naming-convention/Pas de HTML5 pour l’instant.
Pourquoi ?
Je pensais qu’il y avait encore des points bloquants ou tout du moins genants, mais finalement ça ne semble pas être le cas.
Donc go go go pour le HTML5, mieux pour la sémantique et l’accessibilité.Classes en english avec des exceptions en français
Why ?
Français ou anglais, ou mélange des 2, je n’ai pas d’avis vraiment tranché là dessus. Est-ce qu’il y a un consensus à ce sujet ? (dans ce cas, on continue comme ça et on en parle plus :p)
Mon avis en 2 mots, c’est que c’est en général moins verbeux, et ça rend le code accessible aux non francophones.Je ne pense pas que la version cible est la 3.3, 3.4 ou plus à la limite
Ok pour 3.4. Mais on ne sait jamais, ça pourrait être prêt avant :)
Je te laisse modifier, j’ai pas le droit d’éditer le ticket.pensez-vous que BEM est un truc utilisé par les personnes qui bidouillent leur site à partir de la dist ?
Bis, cf. remarque de RastaPopoulos qui poste plus vite que son ombre concernant les perfs.
C’est juste un standard parmis d’autres (OOCSS, SMACSS...), mais il me semble que c’est un des plus simples et un des plus utilisés.Après, je ne pense pas que ça forcerait les gens qui bidouillent la dist à l’apprendre et à l’adopter.
Ce ne sont que des noms de classe, même sans connaître BEM et comprendre comment ces noms sont construits, ça n’empêche pas de bidouiller les styles.Rangement¶
Il y a un autre point que je n’avais pas abordé, c’est le rangement des squelettes.
Je pense que les listes d’objets pourraient être mutualisées comme dans spipr, en ajoutant 2 dossiers et en y créant ces squelettes :
- inclure/liste/
- articles.html
- rubriques.html
- etc.
- inclure/resume/
- article.html
- rubrique.html
- etc.
Après, je me demande si on ne pourrait pas aller plus loin, et reprendre le rangement de z-core pour les blocs principaux.
Attention, je parle bien uniquement de rangement, pas de mettre z-core en dépendance.C’est à dire concrètement :
- header/
- dist.html
- footer/
- dist.html
- content/
- sommaire.html
- article.html
- rubrique.html
- etc.
- aside/
- sommaire.html
- article.html
- rubrique.html
- etc.
Ce qui fait que le squelette des pages en serait simplifié, exemple pour sommaire.html :
<span class="CodeRay"><span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">page</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">header</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">header</span><span class="delimiter">"</span></span> <span class="attribute-name">role</span>=<span class="string"><span class="delimiter">"</span><span class="content">banner</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag">span><span class="error">{</span><span class="attribute-name">fond</span>=<span class="attribute-value">header</span><span class="error">/</span><span class="attribute-name">dist</span><span class="error">,</span> <span class="attribute-name">home</span>=<span class="attribute-value">oui</span><span class="error">}</span> <span class="tag">/></span>
<span class="tag"></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">content</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">content</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">main</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">main</span><span class="delimiter">"</span></span> <span class="attribute-name">role</span>=<span class="string"><span class="delimiter">"</span><span class="content">main</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag">span><span class="error">{</span><span class="attribute-name">fond</span>=<span class="attribute-value">content</span><span class="error">/</span><span class="attribute-name">sommaire</span><span class="error">,</span> <span class="attribute-name">env</span><span class="error">}</span><span class="tag">></span>
<span class="tag"></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">aside</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">aside</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag">span><span class="error">{</span><span class="attribute-name">fond</span>=<span class="attribute-value">aside</span><span class="error">/</span><span class="attribute-name">sommaire</span><span class="error">,</span> <span class="attribute-name">env</span><span class="error">}</span><span class="tag">></span>
<span class="tag"></span>
<span class="tag"></span>
<span class="tag">span> <span class="attribute-name">class</span>=<span class="string"><span class="delimiter">"</span><span class="content">footer</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">footer</span><span class="delimiter">"</span></span> <span class="attribute-name">role</span>=<span class="string"><span class="delimiter">"</span><span class="content">contentinfo</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag">span><span class="error">{</span><span class="attribute-name">fond</span>=<span class="attribute-value">footer</span><span class="error">/</span><span class="attribute-name">dist</span><span class="error">,</span> <span class="attribute-name">self</span>=<span class="error">#</span><span class="attribute-value">SELF</span><span class="error">}</span> <span class="tag">/></span>
<span class="tag"></span>
<span class="tag"></span>
</span></span></span></span></span></span></span></span></span></span></span>Bon, je sais pas, je réfléchis tout haut.
Peut-être que ça pourrait apporter aussi un peu de confusion.Branche et dépôt GIT¶
Concernant le dépôt, je n’ai pas les droits pour créer une branche sur https://git.spip.net/SPIP/dist , du coup je bosse dans un fork : https://git.spip.net/tcharlss/dist/src/branch/bem
Pour celleux intéressées à contribuer, c’est quoi la meilleurs méthode ? Je vous ajoute comme collaborateurs sur ce dépôt ?
Ou alors il faut faire une vraie branche 3.4 dans le dépôt de l’orga SPIP ? - inclure/liste/
-
Nginx rtmp com saida UTP multicast [closed]
31 mars 2021, par Ralph DanezinBom Dia
Tenho servidor nginx rmtp
Estou precisando que esse script tenha uma saida para udp 239.192.48.75 multicast. Como poderiam me ajudar ?


-
I have an application in flask where it streams a camera using ffmpeg, the problem is that I can not display the video from the camera using the GPU [closed]
17 janvier, par RubenI'll put you in context, I am using flask (python) to display a camera in the browser to stream it, for this I use the following Python code :


command = [
 'ffmpeg',
 '-loglevel', 'warning',
 '-rtsp_transport', 'tcp',
 '-i', self.config['url'],
 '-map', '0:v:0', # fuerzo que solo procese el video
 '-vf', f'fps={self.config["fps"]},scale=640:360:force_original_aspect_ratio=decrease',
 '-c:v', 'h264_nvenc', # especificamos que queremos tirar de la gpu de nvidia
 '-preset', 'p7', # ajusta para la maxima calidad/velocidad (p1 mas rapida pero peor calidad - p7 más lento pero mejor calidad)
 '-qp', self.config['quality'], # control de calidad del codificador (0 [mejor calidad] - 51 [peor calidad])
 '-pix_fmt', 'yuv444p', # se mete explicitamente el formato de pixeles
 '-color_range', 'pc',
 '-an', # desactiva el audio
 '-f', 'image2pipe',
 'pipe:1'
] 

self.process = subprocess.Popen(
 command,
 stdout=subprocess.PIPE,
 stderr=subprocess.PIPE,
 bufsize=10**8
)



The problem is that it does not display the video streaming, but it connects correctly to the camera.


On the other hand, It show me the following warnings, which may have something to do with the display, it's probably the second warning that has to do with the pixel format :


DEBUG :main:FFmpeg [camera1] : Guessed Channel Layout for Input Stream #0.1 : mono
DEBUG :main:FFmpeg [camera1] : [swscaler @ 0x560f70b78680] deprecated pixel format used, make sure you did set range correctly


The server has different encodes installed :


DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders : h264 h264_v4l2m2m h264_qsv h264_cuvid ) (encoders : libx264 libx264rgb h264_nvenc h264_omx h264_qsv h264_v4l2m2m h264_vaapi nvenc nvenc_h264 )


Y uso el h264_nvenc, tambien el servidor tiene soporte de aceleración de hardware con :


libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Hardware acceleration methods :
vdpau
cuda
vaapi
qsv
drm
opencl


Between them h264_nvenc uses cuda


I expand a little on the information it provides me when using h264_nvenc :


Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:
 General capabilities: dr1 delay hardware
 Threading capabilities: none
 Supported hardware devices: cuda cuda
 Supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 rgb0 cuda
h264_nvenc AVOptions:
 -preset <int> E..V....... Set the encoding preset (from 0 to 18) (default p4)
 default 0 E..V.......
 slow 1 E..V....... hq 2 passes
 medium 2 E..V....... hq 1 pass
 fast 3 E..V....... hp 1 pass
 hp 4 E..V.......
 hq 5 E..V.......
 bd 6 E..V.......
 ll 7 E..V....... low latency
 llhq 8 E..V....... low latency hq
 llhp 9 E..V....... low latency hp
 lossless 10 E..V.......
 losslesshp 11 E..V.......
 p1 12 E..V....... fastest (lowest quality)
 p2 13 E..V....... faster (lower quality)
 p3 14 E..V....... fast (low quality)
 p4 15 E..V....... medium (default)
 p5 16 E..V....... slow (good quality)
 p6 17 E..V....... slower (better quality)
 p7 18 E..V....... slowest (best quality)
 -tune <int> E..V....... Set the encoding tuning info (from 1 to 4) (default hq)
 hq 1 E..V....... High quality
 ll 2 E..V....... Low latency
 ull 3 E..V....... Ultra low latency
 lossless 4 E..V....... Lossless
 -profile <int> E..V....... Set the encoding profile (from 0 to 3) (default main)
 baseline 0 E..V.......
 main 1 E..V.......
 high 2 E..V.......
 high444p 3 E..V.......
 -level <int> E..V....... Set the encoding level restriction (from 0 to 62) (default auto)
 auto 0 E..V.......
 1 10 E..V.......
 1.0 10 E..V.......
 1b 9 E..V.......
 1.0b 9 E..V.......
 1.1 11 E..V.......
 1.2 12 E..V.......
 1.3 13 E..V.......
 2 20 E..V.......
 2.0 20 E..V.......
 2.1 21 E..V.......
 2.2 22 E..V.......
 3 30 E..V.......
 3.0 30 E..V.......
 3.1 31 E..V.......
 3.2 32 E..V.......
 4 40 E..V.......
 4.0 40 E..V.......
 4.1 41 E..V.......
 4.2 42 E..V.......
 5 50 E..V.......
 5.0 50 E..V.......
 5.1 51 E..V.......
 5.2 52 E..V.......
 6.0 60 E..V.......
 6.1 61 E..V.......
 6.2 62 E..V.......
 -rc <int> E..V....... Override the preset rate-control (from -1 to INT_MAX) (default -1)
 constqp 0 E..V....... Constant QP mode
 vbr 1 E..V....... Variable bitrate mode
 cbr 2 E..V....... Constant bitrate mode
 vbr_minqp 8388612 E..V....... Variable bitrate mode with MinQP (deprecated)
 ll_2pass_quality 8388616 E..V....... Multi-pass optimized for image quality (deprecated)
 ll_2pass_size 8388624 E..V....... Multi-pass optimized for constant frame size (deprecated)
 vbr_2pass 8388640 E..V....... Multi-pass variable bitrate mode (deprecated)
 cbr_ld_hq 8388616 E..V....... Constant bitrate low delay high quality mode
 cbr_hq 8388624 E..V....... Constant bitrate high quality mode
 vbr_hq 8388640 E..V....... Variable bitrate high quality mode
 -rc-lookahead <int> E..V....... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
 -surfaces <int> E..V....... Number of concurrent surfaces (from 0 to 64) (default 0)
 -cbr <boolean> E..V....... Use cbr encoding mode (default false)
 -2pass <boolean> E..V....... Use 2pass encoding mode (default auto)
 -gpu <int> E..V....... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
 any -1 E..V....... Pick the first device available
 list -2 E..V....... List the available devices
 -delay <int> E..V....... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
 -no-scenecut <boolean> E..V....... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
 -forced-idr <boolean> E..V....... If forcing keyframes, force them as IDR frames. (default false)
 -b_adapt <boolean> E..V....... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
 -spatial-aq <boolean> E..V....... set to 1 to enable Spatial AQ (default false)
 -spatial_aq <boolean> E..V....... set to 1 to enable Spatial AQ (default false)
 -temporal-aq <boolean> E..V....... set to 1 to enable Temporal AQ (default false)
 -temporal_aq <boolean> E..V....... set to 1 to enable Temporal AQ (default false)
 -zerolatency <boolean> E..V....... Set 1 to indicate zero latency operation (no reordering delay) (default false)
 -nonref_p <boolean> E..V....... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
 -strict_gop <boolean> E..V....... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
 -aq-strength <int> E..V....... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
 -cq <float> E..V....... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
 -aud <boolean> E..V....... Use access unit delimiters (default false)
 -bluray-compat <boolean> E..V....... Bluray compatibility workarounds (default false)
 -init_qpP <int> E..V....... Initial QP value for P frame (from -1 to 51) (default -1)
 -init_qpB <int> E..V....... Initial QP value for B frame (from -1 to 51) (default -1)
 -init_qpI <int> E..V....... Initial QP value for I frame (from -1 to 51) (default -1)
 -qp <int> E..V....... Constant quantization parameter rate control method (from -1 to 51) (default -1)
 -weighted_pred <int> E..V....... Set 1 to enable weighted prediction (from 0 to 1) (default 0)
 -coder <int> E..V....... Coder type (from -1 to 2) (default default)
 default -1 E..V.......
 auto 0 E..V.......
 cabac 1 E..V.......
 cavlc 2 E..V.......
 ac 1 E..V.......
 vlc 2 E..V.......
 -b_ref_mode <int> E..V....... Use B frames as references (from 0 to 2) (default disabled)
 disabled 0 E..V....... B frames will not be used for reference
 each 1 E..V....... Each B frame will be used for reference
 middle 2 E..V....... Only (number of B frames)/2 will be used for reference
 -a53cc <boolean> E..V....... Use A53 Closed Captions (if available) (default true)
 -dpb_size <int> E..V....... Specifies the DPB size used for encoding (0 means automatic) (from 0 to INT_MAX) (default 0)
 -multipass <int> E..V....... Set the multipass encoding (from 0 to 2) (default disabled)
 disabled 0 E..V....... Single Pass
 qres 1 E..V....... Two Pass encoding is enabled where first Pass is quarter resolution
 fullres 2 E..V....... Two Pass encoding is enabled where first Pass is full resolution
 -ldkfs <int> E..V....... Low delay key frame scale; Specifies the Scene Change frame size increase allowed in case of single frame VBV and CBR (from 0 to 255) (default 0)
</int></int></int></boolean></int></int></int></int></int></int></int></boolean></boolean></float></int></boolean></boolean></boolean></boolean></boolean></boolean></boolean></boolean></boolean></boolean></int></int></boolean></boolean></int></int></int></int></int></int></int>


If anyone has some idea or needs more information to help me, I would appreciate it.