Outils pour utilisateurs

Outils du site


informatique:projets:bloquer_la_mise_en_veille_de_l_ecran

Ceci est une ancienne révision du document !


Bloquer la mise en veille de l'écran

FIXME

Lors de la lecture d'une vidéo sous Firefox, il n'y a pas de mécanisme pour bloquer la mise en veille de l'écran. Pour ne pas être embêté durant un film, j'ai écrit une fonction inspirée de Note : astuce verrouillage Windows. Cette fonction me permet de lire une vidéo en boucle avec VLC.

Je ne voulais pas dépendre d'un fichier externe à la fonction donc j'ai décidé de tout inclure dans celle-ci.

Première version : avec la vidéo de la source mentionnée plus haut

# Keep screen active when reading videos from Firefox
function keep-screen-active {
  SUFFIX=.$FUNCNAME.mp4
  find /tmp -maxdepth 1 -type f -iname \*$SUFFIX -delete
  FILE=$(mktemp --suffix $SUFFIX)
  base64 --decode > $FILE <<-'EOF'
AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAx
LjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIg
OTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBo
dHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0z
IGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5
X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlz
PTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9v
ZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu
cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p
bnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5l
Y3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNy
Zj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03
NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBf
cmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEA
SZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4Ah
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
EOF
  vlc --loop $FILE
}

Deuxième version : je trouvais que le fichier était un peu gros pour le travail réalisé, alors j'ai généré ma propre vidéo

# Génération de l'image pour la vidéo
magick -size 4x4 canvas:teal out.png
# Génération de la vidéo
ffmpeg -loop 1 -i out.png -c:v libsvtav1 -preset 4 -crf 30 -tune 0 -t 1 -pix_fmt yuv420p10le out.mp4
# Keep screen active when reading videos from Firefox
function keep-screen-active {
  SUFFIX=.$FUNCNAME.mp4
  find /tmp -maxdepth 1 -type f -iname \*$SUFFIX -delete
  FILE=$(mktemp --suffix $SUFFIX)
  base64 --decode > $FILE <<-'EOF'
AAAAIGZ0eXBpc29tAAACAGlzb21hdjAxaXNvMm1wNDEAAAAIZnJlZQAAAgptZGF0CgwAAAAAj51f
KgIEBAgyFBAAkoAAAAABAAA79223+sfhqz60MhEoEAAkkkk9OwAAAAADgACU6DIRKAgBBJIAPWIA
AAEAAYAAlEgyESgEhASSYb1tAAABAAGAAJAgMhEoAogEkqw9cwAAAQABgACLwDIRMAMgCSWreuwA
AAIAAwAAh4AaAegyEDAGoBl9WHrsAAACAAMAAIUaAdgyESgGKAuVY71zAAABAAGAAIeAMhAwCqAV
e5h67AAAAgADAACCGgHoMhAwDqAa9MN67AAAAgADAAB+GgG4MhEoDCQHVhw9bQAAAQABgACLwDIQ
KAooB5OivXMAAAEAAYAAhTIQMBKgDXeoeuwAAAIAAwAAfBoB6DIQMBagGfVFeuwAAAIAAwAAfBoB
2DIQKA4oC5ocPXMAAAEAAYAAgjIQMBqgFfWGeuwAAAIAAwAAdBoB6DIQMB6gGvYQeuwAAAIAAwAA
eBoBiDIRKBgAQEAAPTsAAAAAA8AAkCAyESgUIgDQJL1iAAABAAGAAJAgMhEoEiQBWoY9bQAAAQAB
gACHgDIQMCKQAeFheuYAAAIAAwAAfhoB2DIQMCaQFGsMeuYAAAIAAwAAfBoByDIQKBYkCUMkvW0A
AAEAAYAAhTIQMCqQEGlNeuYAAAIAAwAAfBoB2DIQMC6QFmpJeuYAAAIAAwAAdBoBmAAAA21tb292
AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAD6AABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA
AAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACl3Ry
YWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAD6AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA
AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAABAAAAAQAAAAAACRlZHRzAAAAHGVsc3QAAAAA
AAAAAQAAA+gAAAAAAAEAAAAAAg9tZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAADIAAAAyAFXEAAAA
AAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAG6bWluZgAAABR2
bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABenN0
YmwAAACec3RzZAAAAAAAAAABAAAAjmF2MDEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABAAEAEgA
AABIAAAAAAAAAAEXTGF2YzYyLjI4LjEwMSBsaWJzdnRhdjEAAAAAAAAAAAAY//8AAAAaYXYxQ4EA
TAAKDAAAAACPgF8KAgQECAAAAApmaWVsAQAAAAAUYnRydAAAAAAAABAQAAAQEAAAABhzdHRzAAAA
AAAAAAEAAAAZAAACAAAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAAZ
AAAAAQAAAHhzdHN6AAAAAAAAAAAAAAAZAAAAJAAAAF8AAAADAAAAEgAAAAMAAAAlAAAAAwAAABIA
AAADAAAANwAAAAMAAAASAAAAAwAAACQAAAADAAAAEgAAAAMAAABLAAAAAwAAABIAAAADAAAAJAAA
AAMAAAASAAAAAwAAABRzdGNvAAAAAAAAAAEAAAAwAAAAYnVkdGEAAABabWV0YQAAAAAAAAAhaGRs
cgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAtaWxzdAAAACWpdG9vAAAAHWRhdGEAAAABAAAA
AExhdmY2Mi4xMi4xMDE=
EOF
  vlc --loop $FILE
}

Troisième version : je me suis rendu compte que vlc peut lire une image, alors j'ai abandonné la vidéo

# Génération de l'image
magick -size 1x1 canvas:teal out.png
# Keep screen active when reading videos from Firefox
function keep-screen-active {
  SUFFIX=.$FUNCNAME.png
  find /tmp -maxdepth 1 -type f -iname \*$SUFFIX -delete
  FILE=$(mktemp --suffix $SUFFIX)
  base64 --decode > $FILE <<-'EOF'
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGUExURQCAgP////lmmXQAAAABYktHRAH/Ai3eAAAAB3RJ
TUUH6gUeCyAgoZLWEwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNi0wNS0zMFQxMTozMjozMiswMDow
MNfjckkAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjYtMDUtMzBUMTE6MzI6MzIrMDA6MDCmvsr1AAAA
KHRFWHRkYXRlOnRpbWVzdGFtcAAyMDI2LTA1LTMwVDExOjMyOjMyKzAwOjAw8avrKgAAAApJREFU
CNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=
EOF
  vlc --loop $FILE
}
 
 
 
magick -size 1x1 canvas:teal out.png

vlc --loop out.png

# Keep screen active when reading videos from Firefox
function keep-screen-active {
  SUFFIX=.$FUNCNAME.png
  find /tmp -maxdepth 1 -type f -iname \*$SUFFIX -delete
  FILE=$(mktemp --suffix $SUFFIX)
  # This is a 1x1 px teal image.
  base64 --decode > $FILE <<-'EOF'
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGUExURQCAgP////lmmXQAAAABYktHRAH/Ai3eAAAAB3RJ
TUUH6gUdDBYzu8q/0wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNi0wNS0yOVQxMjoyMjo1MSswMDow
MAb9F8AAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjYtMDUtMjlUMTI6MjI6NTErMDA6MDB3oK98AAAA
KHRFWHRkYXRlOnRpbWVzdGFtcAAyMDI2LTA1LTI5VDEyOjIyOjUxKzAwOjAwILWOowAAAApJREFU
    CNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=
    EOF
  vlc --loop $FILE
} 

# Keep screen active when reading videos from Firefox
function keep-screen-active {
  FILE=/tmp/$FUNCNAME.png
  magick -size 1x1 canvas:teal $FILE
  vlc --loop $FILE
}
informatique/projets/bloquer_la_mise_en_veille_de_l_ecran.1780140785.txt.gz · Dernière modification : de alexis