Advertisement
Guest User

Untitled

a guest
Jan 20th, 2013
1,681
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.66 KB | None | 0 0
  1. from Tkinter import *
  2. from threading import Thread
  3. from os.path import expanduser
  4. import os
  5. import time
  6. import datetime
  7. import tkFont
  8.  
  9. def recThread():
  10.         os.system("sleep 1s;ffmpeg -f x11grab -s $(xdpyinfo | grep 'dimensions:' | awk '{print $2}' | cut -dx -f1)x$(xdpyinfo | grep 'dimensions:' | awk '{print $2}' | cut -dx -f2) -b:v 350k -r 15 -i :0.0  -q:v 3 -r 15 -y ~/Videos/$(date +%d%b_%Hh%Mm).avi &")
  11. def rec():
  12.         global videoFile
  13.         mydate = datetime.datetime.now()
  14.         videoFile = mydate.strftime("%d%b_%Hh%Mm.avi")
  15.         pathSt=os.getcwd()+"/Videos/"
  16.         l['text']=os.path.expanduser('~')+"/Videos/"
  17.         l1['text']=videoFile
  18.         b.config(state=DISABLED)
  19.         b1.config(state=ACTIVE)
  20.         t = Thread(target=recThread)
  21.         t.start()
  22.         global count_flag, secs, mins
  23.         count_flag = True
  24.         secs=0
  25.         mins=0
  26.         while True:
  27.                 if count_flag == False:
  28.                         break
  29.                 label['text'] = str("%02dm:%02ds" % (mins,secs))
  30.                 if secs == 0:
  31.                         time.sleep(0)
  32.                 else:
  33.                         time.sleep(1)
  34.                 if(mins==0 and secs==1):
  35.                         b1.config(bg="red")
  36.                         b.config(fg="white")
  37.                         b.config(bg="white")
  38.                 if secs==60:
  39.                         secs=0
  40.                         mins+=1
  41.                         label['text'] = str("%02dm:%02ds" % (mins,secs))
  42.                 root.update()
  43.                 secs = secs+1
  44. def stop():
  45.  
  46.         b.config(state=ACTIVE)
  47.         b1.config(state=DISABLED)
  48.         b1.config(fg="white")
  49.         b1.config(bg="white")
  50.         b.config(fg="white")
  51.         b.config(bg="green")
  52.         global count_flag
  53.         count_flag = False
  54.         os.system("pkill -n ffmpeg")
  55.         try:
  56.             t.stop()
  57.         except:
  58.             print("")
  59.  
  60. root = Tk()
  61. fontTime = tkFont.Font(family="Helvetica", size=12)
  62. fontButton = tkFont.Font(family="Monospace", size=11,weight="bold")
  63. label = Label(root, text="00m:00s",fg="blue",font="fontTime")
  64. b = Button(root,text="Record",command=rec,state=ACTIVE,bg="green",font="fontButton")
  65. b1 = Button(root,text=" Stop ",command=stop,state=DISABLED,bg="white",font="fontButton")
  66. l = Label(root, text="")
  67. l1 = Label(root, text="")
  68. label.grid(row=0, column=0, columnspan=2)
  69. b.grid(row=1, column=0, padx=1, pady=5)
  70. b1.grid(row=1, column=1, padx=1)
  71. l.grid(row=2, column=0,columnspan=2)
  72. l1.grid(row=3, column=0,columnspan=2)
  73. root.minsize(160,105)
  74. root.maxsize(160,105)
  75. root.title("Desktop REC")
  76. root.attributes("-topmost", 1)
  77. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement