Le Blog Utux

HTTP 200 GET /

Migration de Scaleway à Heztner

Rédigé par uTux Aucun commentaire

Je loue des Virtual Private Server (VPS) chez Scaleway depuis 2016 et j'en ai toujours été globalement satisfait. Les performances sont correctes et c'est un hébergeur qui malgré ses tarifs lowcost a su prendre le virage du Cloud en ajoutant toujours plus de services indépendants, et en proposant une bonne intégration avec Terraform.

Et puis les choses ont changé:

  • L'été 2020, Scaleway a augmenté ses tarifs. Moi qui utilisait les instances DEV1-S, cela se traduisit par +40% !
  • A l'automne 2020, Scaleway a mis fin à la limite mensuelle. De base, la facturation se faisait à l'heure, mais au delà d'un certain seuil le tarif était bloqué à une valeur fixe (comme une sorte de forfait au mois). Ce n'est désormais plus le cas.

Au final, le DEV1-S que je payais 2,99€ HT / mois me coûte maintenant 7,30€ HT / mois soit une augmentation de +144%, aïe.

Puisque mes besoins sont croissants (deux nouveaux VPS à venir) j'ai décidé de regarder ce qui se faisait à côté, et je suis tombé sur Hetzner qui jouit d'une réputation plutôt correcte tout en proposant des tarifs lowcost. Comparons les prix :

  • 2 vcpu, 2GB de RAM, 20GB stockage: Hetzner CX11 (2,96€ / month), Scaleway DEV1-S (7,30€ / month).
  • 4 vcpu, 8GB de RAM, 80GB stockage: Hetzner CPX31 (14,76€ / month), Scaleway DEV1-L (29,20€ / month).

La migration a donc commencé, le blog est maintenant hébergé chez Hetzner (toujours en Kubernetes) à Helsinki.

Windows + Kdenlive + NVENC - Part2: Benchmarks

Rédigé par uTux Aucun commentaire

How does profiles work ?

Kdenlive use ffmpeg and MLT. So it's basically MLT syntax to pass arguments to ffmpeg. But what about CBR, VBR, CQP, CRF? What's the magic behind these acronyms ?

  • CBR: Constant Bit Rate. Predictable bandwith, good for streaming. However, it's up to you to set the correct birate and it depends on the resolution of the video (720p, 1080p..) and its content (things that move fast will require more bandwith). A low value means bad quality while high means unnecessary huge files.
  • VBR: Variable Bit Rate. Set a nominal and a maximal bitrate settings that the encoder will use. This is similar to CBR except that the output file should be less huge.
  • CRF (Constant Rate Factor) and CQP (Constant Quantizer Parameter). I admit I do not get the difference between those two, but the idea is the same: you do not set the bitrate, but the quality level you want to achieve.

CBR and VBR are good for streaming because you need a predictable bandwith output. However when you need to locally record a video, you do not really care about the bandwith but more about the quality and the file size, in that case CRF / CQP are more suited.

Kdenlive Built-in CPU profiles:

  • x264 (CRF 23)
  • x265 (CRF 20)
  • vb9 (CRF 23)

Kdenlive Built-in GPU profiles:

  • NVENC H264 VBR (20-30Kbps)
  • NVENC H265 (CBR 30Kbps)
  • NVENC H264 VBR (20-30Kbps)
  • NVENC H265 (CBR 30Kbps)

I added those profiles:

  • NVENC H264 CQP 20: f=mp4 vcodec=h264_nvenc rc=constqp qp=20 profile=high preset=quality ab=192k ar=44100 acodec=aac bf=2
  • NVENC H265 CQP 20: f=mp4 vcodec=hevc_nvenc rc=constqp qp=20 profile=high preset=quality ab=192k ar=44100 acodec=aac bf=2

Benchmark

The input file was a 45min gaming session of Star Wars: Knights of the Old Republic, in 1920x1080 60fps + encoded in H264. I did not applied any effects except cutting video/audio.

Computer specifications:

  • AMD Ryzen 3700X (8c/16t @3,6GHz)
  • 16GB DDR4
  • Nvidia RTX3070 FE
  • 500GB NVMe SSD
  • Windows 10 x64
  • Kdenlive 20.12.13
Render time

While VP9 is a totally free fairly good codec, it is incredibly slow (3h13 versus 0h18 for x264). H265 is slower than H264 probably for good reasons although I'm not able to see a difference in output quality. H264 CQP 20 (NVENC) is 34% faster than x264 CRF 23 (CPU). Keep in mind x264 and x265 speed highly depends on the number of CPU cores. If you can get yours hands on a 3900X (12c/24t) or a 3950X (16c/32t) then I suspect they can match or outperform NVENC.

Render time

H264 CBR 30Kbps (NVENC) is the worst for file recording, resulting in a 12,56 GB file while you can achieve 3,2 GB using H264 CQP 20 (NVENC). x265 seems to be the most efficient (only 1,92 GB) but it's probably related to the CRF 20 agressive parameter. Of course I can't just fix all parameters to 20 because the output quality will depend on the codec, yeah it's black magic.

Limitations

Before jumping to conclusion, you need to be aware of some limitations of my benchmark:

  • The input file was encoded in H264, I did not tried anything else. This may explain the bad results for VP9.
  • x264 and x265 performance scale with the number of CPU cores.
  • I do not know if NVENC speed and quality depends on the GPU.
  • NVENC CQP 20 looks fine for me, but it's purely subjective. Another value might change the benchmark.
  • Kdenlive on Windows can't use NVENC to render video effects and will use the CPU, this is the reason why I did not add any.

Conclusion

I usually stick with H264 CQP 20 (NVENC) which is the fastest with a good quality output (at least to record video games) and a reasonable file size. While Nvidia recommends CQP 15, I can't tell the difference with CQP 20. Also remember that if you upload your video on Youtube, it will be reencoded in AV1 / VP9 with lower quality settings anyway.

Again, you have to understand that there is no "best encoder" for all situations. This is what I think works best for me, but it might be totally different for you.

Links

Windows + Kdenlive + NVENC - Part 1: Nvidia H264 & H265 Hardware encoders

Rédigé par uTux 4 commentaires

Kdenlive is a great software but I noticed a major drawback on the Windows version: render time that is really slow. For example, let's take a 45min H264 2560x1440 60fps video file and crop it to 1920x1080 ("Position and Zoom" effect on Kdenlive). Render time is about 1h15 on Kdenlive while it's only 15 minutes on Adobe Premiere Pro, the difference is insane. Why is the later so fast ? Spoiler: GPU rendering.

Logo kdenlive

Let's talk about how rendering works. Kdenlive use ffmpeg and MLT. The Windows version of Kdenlive is built with an embedded minimal ffmpeg that does not support GPU hardware acceleration, which is sad. Fortunately, it is possible to download the full version of ffmpeg and install it on Kdenlive, here is how to proceed.

Download

Installation

  • Run the kdenlive installer which is in fact a self-extracting archive. Extract the contents in a location, for example C:\Program Files\Kdenlive.
  • Extract ffmpeg-release-full-shared.7z to a temporary location, for example C:\Users\utux\Downloads.
  • Copy C:\Users\utux\Downloads\ffmpeg\bin\* to C:\Program Files\Kdenlive\bin\
  • Copy C:\Users\utux\Downloads\ffmpeg\presets\* to C:\Program Files\Kdenlive\share\ffmpeg\

Configuration

Start or restart Kdenlive then click Configuration > Run Config Wizzard. Check "Nvidia hardware acceleration" and make sure it is properly detected.

Kdenlive config wizard

The following render profiles show be available now:

  • NVENC H264 CBR
  • NVENC H264 VBR
  • NVENC H265 CBR
  • VAAPI Intel H264
  • VAAPI AMD H264

Try to render a project using one of these profiles and take a look at the Performance / GPU / Video Encode section in the Task Manager:

taskmgr

If the GPU Encode graph is low (20% or less) that means that Kdenlive is rendering Effects on the CPU (such as "Position and zoom"). See limitations below.

Limitations

  • Right now (Apr 2021) effects cannot be rendered by the GPU (at least on Windows). This may lead to frustrating situations where the GPU encoder only works at 20% and render is slow. I used to capture 1080p games in a 1440p desktop, then crop with the "Position and Zoom" effect, I changed that. Now I have set OBS Studio to record in 1080p, negating the need any transformation.
  • I could not make NVENC work for proxy clips, which is bad.
  • The Windows version of Kdenlive does not seems to support Movit aka "Experimental GPU processing" which add effects that can be rendered by the GPU. For example, instead of "Position and zoom" you can use "Pan and zoom (GPU)". You should try the Flatpak version (Linux).

Alors, que vaut Cyperpunk 2077 ?

Rédigé par uTux Aucun commentaire

Je ne tournerais pas autour du pot : je n'ai pas aimé Cyberpunk 2077, et j'ai demandé un remboursement à GOG après quelques heures de jeu.

Commençons par évacuer les points positifs :

  • Oui c'est beau, même si à mon sens ce n'est pas la claque visuelle promise.
  • La bande son est une tuerie, avec ses chansons originales composées pour le jeu.
  • L'histoire et les personnages sont hauts en couleurs et plutôt solides. Le tout est couplé à un certain lore qui nous fait comprendre qu'il y a eu un gros travail au niveau de la cohérence de l'univers.
  • Il y a un paquet de bugs oui, mais la plupart sont visuels et ne dénaturent pas le jeu.

Ce que l'on voit rapidement dans ces qualités c'est qu'elles tiennent du domaine technique, je n'ai pas encore abordé le gameplay. Si Cyberpunk 2077 n'avait été qu'une démo pour démontrer les capacités techniques du moteur graphique ou le savoir faire de CD Projekt, il aurait été parfait. Manque de bol, c'est aussi un jeu et c'est là que les choses se compliquent :

  • Cyberpunk 2077 a une narration leeente et interminaaable, j'ai vraiment l'impression d'être sur un film interactif, une sorte de jeu Telltale (Minecraft story mode) à gros budget plutôt que dans un vrai jeu. Alors oui je sais qu'un RPG est censé accorder une place importante à l'histoire, mais il y a clairement un problème de dosage entre les cinématiques et les phases de jeu.
  • Le jeu propose 3 prologues au choix, 3 origines possibles pour votre personnage. Sur papier c'est bien, en pratique ça tient du foutage de gueule, il n'y a pas d'autre mots. 30 minutes à tout casser, aucune action (sauf pour le nomade), et une conclusion qui vous remet bien dans les rails de l'histoire sans aucune conséquence derrière. Un autre exemple de jeu qui avait plusieurs prologues possibles : Dragon Age Origin - avec beaucoup de contenu, une quête de plus de deux heures, et de gros enjeux. Je me souviens par exemple de celle de l'humain noble, de l'elfe des cités, ou encore du nain prince héritier. A côté, les prologues de Cyberpunk sont une imposture.
  • La personnalisation de votre avatar (nommé "V") s'arrête au physique car il n'y a aucun choix possible dans les dialogues. Vous devez subir les dialogues qu'on vous impose et suivre les rails de l'histoire. Pour moi ce point est rédhibitoire pour un RPG, car il faut quand même se rappeler que la consistance même de ce genre, c'est l'immersion. Le joueur doit se sentir dans la peau de son avatar, avoir l'impression qu'il vit l'histoire, jouer un rôle qu'il a déterminé. Et là il n'y a juste rien. Comparé à Mass Effect, Cyberpunk 2077 est un très mauvais RPG. On a accusé Fallout 4 de n'avoir aucun choix, mais au moins il faisait semblant !
  • Le jeu vous impose une vue à la première personne, même pendant les cinématiques, avec des limitations des mouvements de tête, et c'est très inconfortable. Je pense notamment à des séquences en voiture où vous êtes assis à l'arrière et ne voyez absolument rien car il y un siège devant et vous ne pouvez pivoter que sur 90°.

Si j'ai demandé le remboursement de Cyberpunk 2077, c'est parce que j'ai su au bout de quelques heures que je n'aurais pas la patience de le finir. Trop d'ennui, trop d'énervement dans les cinématiques rigides, aucune possibilité d'influer sur l'histoire d'une manière ou d'une autre... donc au final je préfère le regarder dans des walkthrough sur Youtube. Peut être que je redonnerai une chance au jeu dans quelques mois, si des mods ou DLC arrivent à le transformer suffisamment pour le rendre intéressant.

Projet d'achat #7: Peinture, plomberie et chauffage

Rédigé par uTux 1 commentaire

La peinture, un domaine de pro

Je pensais pouvoir repeindre ma chambre en 1-2 semaines, il aura fallu finalement un mois pour arriver à un résultat à peu près satisfaisant. Je m'y suis attelé en décembre avec madame Utux, une période où la nuit tombe très vite ce qui ne facilite pas les choses, surtout si on compte un temps de séchage de 24h entre chaque couche.

La peinture est un domaine assez restreint et plutôt réservé aux professionnels. Si on compare avec l'informatique où il est très facile de trouver des tests de matériel, des communautés, des chaînes Youtube, des tutos, des threads sur stack overflow, côté peinture c'est beaucoup moins évident. Rien que trouver une photo montrant la différence entre une peinture mat et satinée est difficile. Le choix d'une marque de peinture est là aussi compliqué puisqu'on a d'un côté les marques grand public en lowcost et de l'autre les marques professionnelles pour 3x - 5x plus cher. Peindre c'est accepter de prendre des risques et d'apprendre par l'erreur.

Personnellement j'ai du changer de marque de peinture en cours de route et apprendre à accepter les imperfections. Ne regardez pas vos murs de côté avec une lumière artificielle, vous verrez toutes les traces de rouleau qui sont invisibles en temps normal. Aucun mur n'est parfait. L'essentiel est qu'il soit blanc de face sous la lumière naturelle.

Les joies du chauffage au gaz

J'ai beaucoup de mal à comprendre le choix d'une chaudière au gaz pour un logement aussi petit (45m², trois radiateurs) par rapport à du 100% électrique vu la complexité et les coûts engendrés. L'abonnement au gaz est un forfait de €15/mois + coût du kWh, pareil pour l'électricité, l'énergie coûte donc au minimum €30/mois même si vous consommez 0 kWh. A cela il faut ajouter les coûts en entretien (révision annuelle, purge, désembouage, équilibrage...) et ne parlons même pas du dégagement de CO² et de la dépendance à une énergie fossile dont le cours est imprévisible.

Pour la peinture de la chambre, j'ai du apprendre à déposer un radiateur à eau. Il s'avère que ce n'est finalement pas si compliqué car il y a de nombreux tutoriels sur Internet. Une clé à molette, un jeu de clés Allen, une clé de purge et du ruban téflon suffisent et au final la procédure est très formatrice car on en apprend un peu plus sur la plomberie (purge, appoint d'eau, etc).

J'ai cru que la chaudière était défaillante, car si l'eau sanitaire (pour les robinets) était chaude, en revanche les radiateurs restaient tièdes et la température dans l'appartement oscillait entre 13,5°C et 16°C. Après avoir téléchargé la notice complète de la chaudière, lancé des tests à l'aide de menus cachés, j'ai fini par comprendre qu'il n'y avait aucun problème. Ce sont des radiateurs basse température, ils seront donc toujours tièdes et il faut patienter 48 à 72h pour réchauffer les pièces jusqu'à la température de consigne.

Le blues des travaux

J'ai découvert la notion de blues des travaux. C'est le moment de découragement "j'y arriverais jamais" ou "j'aurais du faire appel à un pro", quand on constate à quel point on avance lentement et qu'il y a toujours plus de choses à faire. C'est un moment passager, accrochez-vous aux petites victoires et réorganisez votre planning pour plus de confort, évitez de peindre le soir en semaine et privilégiez le weekend en matinée, c'est plus facile.

De la fibre au VDSL

J'ai souscrit à la Freebox mini 4K en 2015 avec à l'époque un débit de 1 Gbps puisque j'étais raccordé à la fibre (FTTH). Aujourd'hui ce n'est plus le cas et je suis repassé en cuivre / xDSL bien moins rapide. Heureusement je bénéficie tout de même du VDSL avec un débit estimé à ~50 Mbps, ce qui permet de télécharger à ~5,5 Mo/s.

Cette réduction de débit n'est pas si terrible mais la différence est quand même perceptible, notamment dans la latence (temps de réponse des requêtes) mais aussi dans le fait de pouvoir faire plusieurs choses en même temps. J'entends par là que lancer un apt-get update alors qu'un gros téléchargement est en cours n'est pas toujours une bonne idée. Le téléchargement de jeux Steam doit lui aussi être anticipé car plusieurs heures sont nécessaires.

En Janvier 2021, j'ai reçu un SMS de Orange m'informant que la fibre était arrivée dans mon immeuble. Non merci ! Les offres Orange sont beaucoup trop chères à mon goût et avec la Livebox je perdrais beaucoup de choses par rapport à ma Freebox. De plus mon appartement n'a pas de prises fibre, il faudra donc percer les murs pour l'installer, cela attendra.

A venir : plinthes, et encore de la peinture

Je comptais refaire la peinture de mon salon (à cause des trous) mais me suis rendu compte d'un problème de plinthes. Il y un angle de mur dans lequel l'une d'elles n'est pas droite, et plusieurs ont une légère fissure apparente sur le dessus. Il s'avère que ce n'est pas réellement une fissure mais plutôt un décollement. L'immeuble n'étant pas vieux (~6 ans) il est possible que le mur ou le plancher se soit légèrement déformés après la livraison et que personne n'a jamais pris la peine de corriger le défaut esthétique engendré.

Je compte donc réparer les plinthes avant de repeindre les murs, les travaux sont loin d'être finis.

Classé dans : Divers Mots clés : aucun
Fil RSS des articles