Diff of /trunk/tubetutor/ffmpeg.py [r11] .. [r12]  Maximize  Restore

Switch to unified view

a/trunk/tubetutor/ffmpeg.py b/trunk/tubetutor/ffmpeg.py
...
...
76
    print ("====================================================")
76
    print ("====================================================")
77
    print ("cmd: %s" % cmd)
77
    print ("cmd: %s" % cmd)
78
    if platform.system() == "Linux":
78
    if platform.system() == "Linux":
79
        proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
79
        proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
80
    else:
80
    else:
81
        proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
81
        proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=False)
82
82
83
def record(filename, resolution=""):
83
def record(filename, resolution=""):
84
    if resolution != "":
84
    if resolution != "":
85
        start(filename, " %s -y -vf scale=%s -v:q 1" % (grabber, resolution))
85
        start(filename, " %s -y -vf scale=%s -v:q 1" % (grabber, resolution))
86
    else:
86
    else:
...
...
88
88
89
def stop():
89
def stop():
90
    global proc_ffmpeg
90
    global proc_ffmpeg
91
    # Kill remaining ffmpeg instances
91
    # Kill remaining ffmpeg instances
92
    if proc_ffmpeg:
92
    if proc_ffmpeg:
93
        try:
93
        if platform.system() != "Linux":
94
            ctypes.windll.kernel32.TerminateProcess(int(proc_ffmpeg._handle), -1)
94
            ctypes.windll.kernel32.TerminateProcess(int(proc_ffmpeg._handle), -1)
95
        finally:
95
            proc_ffmpeg.kill()
96
            pass
96
        else:
97
        proc_ffmpeg.kill()
97
            proc_ffmpeg.kill()
98
        if hasattr(os, "killpg"):
98
            if hasattr(os, "killpg"):
99
            os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGTERM)
99
                os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGTERM)
100
            os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGKILL)
100
                os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGKILL)
101
        if hasattr(os, "kill"):
101
            if hasattr(os, "kill"):
102
            os.kill(proc_ffmpeg.pid, signal.CTRL_C_EVENT)
102
                os.kill(proc_ffmpeg.pid, signal.CTRL_C_EVENT)
103
        
104
        proc_ffmpeg=None
103
        proc_ffmpeg=None
105
        
104
        
106
def video_duration(filename):
105
def video_duration(filename):
107
    cmd = get_cmd_ffprobe()
106
    cmd = get_cmd_ffprobe()
108
    cmd += " -i %s" % filename
107
    cmd += " -i %s" % filename