<p>我不建议使用卡斯特罗。它真的过时了,我试着在我自己的测试中使用它,并且确实让它运行,但它太不稳定了。在</p>
<p>我目前使用的是<a href="https://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjB7IGoiYDSAhXMORoKHUQvAOIQFggcMAA&url=https%3A%2F%2Fffmpeg.org%2F&usg=AFQjCNEMqXt-KGXX4L_U95FXMiJ8a9A9QA&sig2=0CLzqw2Duh3A1_w7lsuBvw" rel="nofollow noreferrer">ffmpeg</a>和<a href="https://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjDwI-xiYDSAhWFbBoKHV67BNQQFggfMAA&url=https%3A%2F%2Fgithub.com%2Frdp%2Fscreen-capture-recorder-to-video-windows-free&usg=AFQjCNFOfN55gVSFX6koAfwdNlEcVRqakQ&sig2=frl34Mb0K8rq4N0Gi38p0w" rel="nofollow noreferrer">screen-capture-recorder</a>(屏幕录制软件),它的工作方式就像一个符咒。它允许您设置帧速率、分辨率、比特率以及选择不同的视频编解码器。在</p>
<p>代码如下:</p>
<pre><code>from subprocess import Popen
from subprocess import call
cmd = 'ffmpeg -y -rtbufsize 2000M -f dshow -i video="screen-capture-recorder" -s 1920x1080 -b:v 512k -r 20 -vcodec libx264 test.avi'
def terminate(process):
if process.poll() is None:
call('taskkill /F /T /PID ' + str(process.pid))
videoRecording = Popen(cmd) # start recording
terminate(videoRecording) # terminates recording
</code></pre>