Pages

page 1 de 6

tl09.jpg  b00m

30 03 2016


  Euphorbe

20 01 2016


  Éditeurs video linux

18 01 2016

Une liste d'éditeurs de vidéos sous linux :


  PLN 2

16 11 2015


tl09.jpg  HH.screencap.replay

13 11 2015

 

encodage FFMPEG

ffmpeg -i out.avi -c:v libvpx -crf 10 -b:v 2M -threads 4 out.webm

 


  HH 1 bit

11 11 2015




Image originale :


 


  HH

11 11 2015




#!/usr/bin/python
# coding: utf-8

# haacheuur 0.24

import sys
import Image
import random
import os
import ImageDraw
import ImageFont
import ImageFilter
from time import gmtime, strftime
import time

# modifs du 30/10/2013
import ImageEnhance

#ouvertrure de l'image source et conversion en mode couleur 1bit
#im1 = Image.open(str(sys.argv[1])).convert('1')
#im1 = Image.open(str(sys.argv[1])).convert('L')
im1 = Image.open(str(sys.argv[1]))
im2 = im1.copy()

#rapport d'allongement de la nouvelle image par rapport à la largeur de l'image originale
allongement = 1

im3 = Image.new("RGBA",(im1.size[0], im1.size[1]))
im4 = Image.new("RGBA",(im1.size[0]*allongement, im1.size[1]))

Larg = im1.size[0]
Haut = im1.size[1]
import pickle

loadfile = False

class Sequence:
    def __init__(s):
        randomCoupeHauteur = []
        s.randomCopyPosi =[]
        s.proportions=[]
        s.choix=[]
        s.sizeOutput=None
        s.sizeInput=None

"""
seq = dict()
seq["randomCoupeHauteur"] = []
seq["randomCopyPosi"] = [] 
seq["proportions"] = []
seq["choix"] = []
seq["sizeOutput"]= im4.size
seq["sizeInput"] = im1.size
"""
if loadfile:
    seq=pickle.load(open("test.pickle"))

else :
    seq=Sequence()
    
for i in range(4):
    
        
    # constitution de la liste des tranches horizontales
    # genre comme si qu'on avait un 16 pistes :)
    # nombre aleatoire compris dans les limites de l'image
    def randHaut():
        return random.randint(0, im1.size[1]/8)*8
    
    if loadfile:
        randomCoupeHauteur = seq.randomCoupeHauteur
        
    else:
        randomCoupeHauteur = [0, \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        randHaut(),randHaut(),randHaut(),randHaut(), \
        im1.size[1]]
        # rangement des valeurs des plus petites au plus grandes
        randomCoupeHauteur.sort()
        seq.randomCoupeHauteur = randomCoupeHauteur
        
    # les hachures
    def Hacheur(haut, bas) :
        
        n=0
        i=0
        #!!!!!!!!!!
        while n<im4.size[0] :
            
            if loadfile:
                proportions = seq.proportions
                choix_rnd = seq.choix[i]
                randomCopyPosi = seq.randomCopyPosi[i]
            else:
                '''
                8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168
                '''
                #proportions = [(160,6),(120,4),(120,8),(80,16),(60,16),(20,32),(8,24),(8,16),(5,64),(3,24),(2,24),(1,256),(1,128),(1,64),(1,32),(1,16),(1,8)]
                proportions = [(160,1),(120,2),(120,3),(80,6),(64,12),(24,18),(8,24),(8,16)]
                seq.proportions = proportions
                #proportions = seq.proportions[]
                choix_rnd = random.randint(0, len(proportions)-1)
                #choix_rnd = random.randint(0, len(proportions)-1)
                seq.choix.append(choix_rnd)
                
                largeur = proportions[choix_rnd][0]
    
                
                # positionnement de la copie, aleatoirement, entre 0 et la largeur totale de l'image 
                randomCopyPosi = random.randint(0, (im1.size[0]-largeur))
                #randomCopyPosi = seq.randomCopyPosi
                seq.randomCopyPosi.append(randomCopyPosi)
            
            i+=1

            # tirage au sort

            
            #seq["choix"].append(choix_rnd)
            
            # assignation des valeurs (paires) finales choisies
            largeur = proportions[choix_rnd][0]            
            repeat = proportions[choix_rnd][1]
    

            #seq["randomCopyPosi"].append(randomCopyPosi)
            
            cx1 = randomCopyPosi
            cx2 = randomCopyPosi + largeur
            # decoupage du sample
            im3 = im2.crop((cx1,haut,cx2,bas))
            '''
            print "im3 = im2.crop : "+str(im3.size)
            '''
                
            draw = ImageDraw.Draw(im4)
                    
            loop = 0
            
            pixelSizeList = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4,8]
            pixelSizeIndex = random.randint(0,len(pixelSizeList)-1)
            pixelSize = pixelSizeList[pixelSizeIndex]
            '''
            print " pixelSize = "+str(pixelSize)
            '''
            
            ''' COLLAGE DU SAMPLE
            '''
            while loop<repeat:    
                px1 = n
                px2 = n + largeur
                
                draw = ImageDraw.Draw(im3)
                
                ''' PIXELISATION
                '''

                im3 = im3.resize((im3.size[0]/pixelSize, im3.size[1]/pixelSize), Image.NEAREST)
                im3 = im3.resize((im3.size[0]*pixelSize, im3.size[1]*pixelSize), Image.NEAREST)
                
                '''
                print "im3.size="+str(im3.size)
                print "im4.size="+str(im4.size)
                '''
                
                #lignes colorées de 1 pix
                draw.line((im3.size[0]-1, 0, im3.size[0]-1, im3.size[1]-1), fill="rgb(255,255,255)")
                
                im4.paste(im3, (px1, haut, px2, bas))
                
                n = n + largeur
                loop = loop + 1
    
    ''' OPTIONS
    '''    
    def TrancheHorizontale() :
        # tirage au hasard de la bande copiee
        pos = random.randint(0, im1.size[1]-im1.size[1]/20)
        # copiage
        im5 = im2.crop((0,pos,im1.size[0],pos+im1.size[1]/20))
        
        # le soulignage en blanc
        draw = ImageDraw.Draw(im5)
        draw.line((0, im5.size[1]-1, im5.size[0], im5.size[1]-1), fill="black")
        draw.line((0, 1, im5.size[0], 1), fill="black")
        
        # collage    
        im4.paste(im5, (0,pos,im1.size[0],pos+im1.size[1]/20))

    # HAACHEUUR
    for j in range(len(randomCoupeHauteur)-1):
        Hacheur(randomCoupeHauteur[j], randomCoupeHauteur[j+1])
    
    ''' SAUVEGARDE
    '''
    # CTRL + S
    #chemin du script    : scriptpy = sys.argv[0]
    #chemin de l'image    : str(sys.argv[1])
    scriptpy = str(sys.argv[1])
    script = scriptpy[:-3]
    n = "%05d" % i
    im4.save(script+"."+n+"_"+strftime("%Y%m%d-%Hh%Mm%Ss", gmtime())+".png",'PNG', quality=100)
    pickle.dump(seq, open("test.pickle","w"))
    
    #print script+"."+str(i)+"_"+strftime("%Y%m%d-%Hh%Mm%Ss", gmtime())+".jpg"
    #millis = int(round(time.time() * 1000))
    #print "millis-secondes : "+str(millis)
    
 

 

 

 


linux-debian.jpg  fluxbox

11 11 2015

dump de certaines infos de config fluxbox perso


le MENU :

[begin] (SushiBook)
[exec] (abiword) {abiword} </usr/share/pixmaps/abiword.xpm>
[exec] (audacious) {audacious} </usr/share/pixmaps/audacious-32.xpm>
[exec] (audacity) {audacity} </usr/share/pixmaps/audacity32.xpm>
[exec] (baobab) {baobab} </usr/share/pixmaps/baobab.xpm>
[exec] (fyre)  {fyre} </usr/share/pixmaps/fyre.png>
[exec] (geany)  {geany} </usr/share/pixmaps/geany.xpm>
[exec] (gimp)  {gimp} </usr/share/pixmaps/gimp.xpm>
[exec] (hugin) {hugin} </usr/share/pixmaps/hugin.png>
[exec] (iceweasel) {iceweasel} </usr/share/pixmaps/iceweasel.xpm>
[exec] (meshlab)  {meshlab} </usr/share/pixmaps/meshlab_32x32.xpm>
[exec] (pd-extended) {pd-extended} </usr/share/pixmaps/pd-extended.xpm>
[exec] (puredata) {puredata} </usr/share/pixmaps/puredata.xpm>
[exec] (scribus) {scribus} </usr/share/pixmaps/scribus.xpm>
[exec] (seahorse) {seahorse} </usr/share/pixmaps/seahorse.xpm>
[exec] (structure-synth) {structure-synth} </usr/share/pixmaps/structure-synth.xpm>
[exec] (transmission) {transmission} </usr/share/pixmaps/transmission.xpm>
[exec] (Terminator) {/usr/bin/terminator} </usr/share/pixmaps/terminator.png>
[exec] (Nemo) {/usr/bin/nemo --no-desktop}  </usr/share/pixmaps/nemo.xpm>
[exec] (Blender) {/usr/bin/blender} </usr/share/pixmaps/blender-32x32.xpm>
[separator]
[submenu] (menu) {}
 [include] (/etc/X11/fluxbox/fluxbox-menu)
 [end]
[end]

bug du resize de l'application "terminator" :
 

https://bugs.launchpad.net/ubuntu/+source/terminator/+bug/1201454

dans le fichier /usr/share/terminator/terminatorlib/window :

Setting the self.pending_set_rough_geometry_hint = True makes it work fine.

bug nvidia/fluxbox, resize des fontes


dans le fichier : /etc/X11/xorg.conf
ajouter à l section "Monitor" ces 2 lignes :

    Option   "UseEdidDpi" "false"
    Option   "DPI" "96 x 96"
 


Gare_Toulouse_0002.JPG  chaise de chasseur

18 10 2015


linux-debian.jpg  Beep Movie

04 10 2015

Hi all,

I had fun time making a YouTube tutorial video that shows how I used old school game audio synthesis to make the audio for the "Beep Movie" logo using Pd :
https://www.youtube.com/watch?v=LI5hKnOQAOk

If you teach Pd or have an interest in classic video game sounds then this patch might be helpful for you. The full patch is available here :
http://School.VideoGameAudio.com/BeepLogoAudio.pd

More information on the Beep documentary film and book is here:
http://SoVGA.com



Pd-announce mailing list
Pd-announce@lists.iem.at

http://lists.puredata.info/listinfo/pd-announce



page 1 de 6


Cumulonimbus.fr - 2015 - license cc by-nc-sa 3.0 fr
Dernière mise à jour : 2016-08-28 16:59:19