ffmpeg-python/examples/record_windows_screen.py
2021-01-09 02:57:40 -05:00

22 lines
603 B
Python

import ffmpeg, time
#Setup for recording windows desktop to mp4 file
process = (
ffmpeg
.input(format='gdigrab',framerate=30,filename="desktop")
.output(crf="0",preset="ultrafast",filename="./output.mp4",c= "libx264" )
.overwrite_output()
)
#Launch video recording
process = process.run_async(pipe_stdin=True)
#Let it record for 20 seconds
time.sleep(20)
#Stop video recording
process.communicate(str.encode("q")) #Equivalent to send a Q
# To be sure that the process ends I wait 3 seconds and then terminate de process (wich is more like kill -9)
time.sleep(10)
process.terminate()