Hướng dẫn python ffmpeg record screen - màn hình ghi python ffmpeg

Hầu như tất cả các video mà tôi tải lên YouTube đều sử dụng phương pháp này mà tôi sẽ giải thích ở đây. Đây là cách nhanh nhất để ghi lại màn hình của bạn. Nếu bạn không làm nhiều việc làm lại các video, như tôi, đây có thể là công cụ phù hợp với bạn nếu bạn muốn có một số nguyên liệu nhưng ngay lập tức. Đầu ra video rất nhẹ vì nó không chiếm nhiều bộ nhớ.fastest way to record your screen. If you don’t do much of reworking on the videos, like me, this could be the right instruments for you if you want somethin raw but immediate. The video output is very light as it does not occupy much memory.

Cài đặt FFMPEG

FFMPEG là khung đa phương tiện hàng đầu để giải mã, mã hóa, chuyển đổi, MUX, demux, stream, filter và play. Tất cả các bản dựng yêu cầu ít nhất Windows 7 hoặc Mac OS X 10.10.

Trước hết bạn cần để cài đặt FFMPEG: Đây là một công cụ miễn phí tuyệt vời với hàng tấn tính năng. Tới đây để xem cách: Nhấp vào liên kết này để xem cách cài đặt FFMPEG

Đây là phiên bản cho Windows

Cách tránh ghi lại các bản ghi trước

Nếu bạn muốn ghi lại màn hình, bạn chỉ cần sử dụng lệnh FFMPEG, nhưng nếu bạn muốn tạo ra thứ gì đó mềm mại hơn một chút, bạn có thể kết hợp việc sử dụng FFMPEG với Python để có kết quả đáng kinh ngạc. Hôm nay chúng tôi muốn tạo một tập lệnh đơn giản cho phép bạn ghi lại màn hình bằng giọng nói của bạn từ mic để ghi đè lên những gì cuối cùng bạn đã ghi lại trong lần trước.record the screen you could simply use the ffmpeg command, but if you want to make something a little more sofisticated you can combine the use of ffmpeg with python to get incredible results. Today we want to make a simple script that allows you to record the screen with your voice from the mic avoding to overwrite what you eventually recorded in a previous time.

Những lợi thế khác

Bạn có thể tận dụng tập lệnh này để ghi lại các video của mình trong nhiều bước hơn và sau đó tham gia các video cùng với tham gia MP4 cùng nhau. Bạn thậm chí có thể cắt một số phần của video mà bạn không thích. Hãy xem bài viết này ở đây để xem làm thế nào bạn có thể làm điều đó với FFMPEG.

Tránh ghi đè, chúng tôi đã nói

Như tôi đã nói trước khi mã này bắt đầu tìm đến một tệp được gọi là output0.mp4 nếu không có tệp như thế trong thư mục, nó sẽ lưu video với tên đó, nếu không nó sẽ lưu nó với số miễn phí đầu tiên mà anh ta sẽ tìm thấy, bởi vì Nó sẽ nhớ lại chức năng bản ghi cho đến khi nó tìm thấy một tên có một số chưa được sử dụng bởi một tệp khác trong thư mục. Đây là một tính năng tốt cho phép tránh ghi đè ghi âm trước đó và cũng cho phép ghi lại nhiều hơn để bạn có thể tham gia các tệp cùng nhau ở cuối (vào đây để lấy mã để thực hiện).

Tôi cần gì để ghi lại màn hình và giọng nói của tôi trên mic

Để ghi lại bản ghi màn hình của bạn, giống như tôi làm trong video dưới đây, bạn có thể sử dụng tập lệnh này được tạo bằng Python sử dụng FFMPEG để thực hiện công việc.

Kích thước của màn hình

Bạn cần đặt kích thước của màn hình mà bạn đang sử dụng. Trong trường hợp của tôi, đó là -Video_Size 1366 × 768.-video_size 1366×768.

Tốc độ khung hình

Thử nghiệm cũng với tốc độ khung hình để xem cái gì là đúng. Đối với tôi, nó đã làm việc với tốc độ khung hình -r 10.-r 10 frame rate.

Âm thanh

Một điều khác bạn sẽ phải thay đổi là âm thanh, bởi vì hệ thống của bạn có thể có (có thể) một tên khác cho thiết bị âm thanh của nó. Của tôi là: -i Audio = Microfono (tai nghe USB 8- Logitech). Bạn thấy đó là ngay cả trong tiếng Ý, bởi vì hệ thống của tôi được đặt trong ngôn ngữ này.-i audio=”Microfono (8- Logitech USB Headset)”. You see that is even in italian, because my system is set in this language.

Làm thế nào để có được tên của các thiết bị âm thanh của tôi?

Nếu bạn muốn xem tên của các thiết bị của bạn là gì, bạn có thể sử dụng tập lệnh này.devices you can use this script.

ffmpeg-list_devices true-fdshow-idumm-list_devices true-fdshow-idummy

tạm ngừng

Sao chép mã này trong một trình soạn thảo và lưu nó dưới dạng list_of_devices.bat. Sau đó chạy tệp bằng một cú nhấp chuột gấp đôi và bạn sẽ thấy một cái gì đó như thế này:

Hướng dẫn python ffmpeg record screen - màn hình ghi python ffmpeg

Bạn có thể thấy nơi tôi lấy tên là Microfono (tai nghe USB 8- Logitech). Chỉ cần sao chép chính xác những gì bạn thấy trong máy tính của bạn và thay thế nó trong tập lệnh của bạn.

Tập lệnh python để ghi lại màn hình

Chúng tôi đây, đây là kịch bản. Thực hiện thay đổi mà bạn phải làm và bắt đầu ghi âm.

Nhập hệ điều hànhos

Nhập khẩu Quả cầuglob

x=0=0

DEF RECORD ():record():

GlobalXx

ifnot "h: \\ ffmpeg \\ oput"+str (x)+". mp4" inglob.glob ("h: \\ ffmpeg \\*.not"H:\\ffmpeg\\output"+ str(x)+".mp4"inglob.glob("H:\\ffmpeg\\*.mp4"):

fileName = "h: \\ ffmpeg \\ output"+str (x)+". mp4"="H:\\ffmpeg\\output"+str(x)+ ".mp4"

else::

x+=1+=1

record()()

os.system (f "" "ffmpeg -y -rtbufsize 200m -f gdigrab -thread_queue_size 1024 -probesize 10m -r 10 -draw_mouse 1 -video_size 1366x768 -i . trần (iw/2)*2: ceil (ih/2)*2 "" {fileName} "" "")).system(f"""ffmpeg -y -rtbufsize 200M -f gdigrab -thread_queue_size 1024 -probesize 10M -r 10 -draw_mouse 1 -video_size 1366x768 -i desktop -f dshow -channel_layout stereo -thread_queue_size 1024 -i audio="Microfono(8-Logitech USB Headset)" -c:v libx264 -r 10 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p -c:a aac -strict -2 -ac 2 -b:a 128k -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" "{filename}" """)

record()()

Tập lệnh thứ hai để ghi lại màn hình

Tôi muốn thực hiện một bản cập nhật nhỏ cho mã. Đây là cái mà tôi thực sự đang sử dụng. Tôi khuyên bạn nên đặt điều này vào thư mục chính từ nơi HĐH bắt đầu, để bạn có thể nhấn nút Windows + R và sau đó viết rec.py để bắt đầu. Đây là những gì tôi làm để ghi lại các video và đây là mã:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Nhập hệ điều hànhos

Nhập khẩu Quả cầuglob

x=0=0

DEF RECORD ():record():

GlobalXx

ifnot "h: \\ ffmpeg \\ oput"+str (x)+". mp4" inglob.glob ("h: \\ ffmpeg \\*.="H:\\ffmpeg\\output\\output"

ifnotfld+str(x)+".mp4"inglob.glob(fld+"*.mp4"):not fld+str(x)+".mp4"inglob.glob(fld+"*.mp4"):

filename=fld+str(x)+".mp4"=fld+ str(x)+".mp4"

else::

x+=1+=1

record()()

fileName = "h: \\ ffmpeg \\ output"+str (x)+". mp4"="Microfono (8- Logitech USB Headset)"

video_size="1366x768"= "1366x768"

os.system (f "" "ffmpeg -y -rtbufsize 200m -f gdigrab -thread_queue_size 1024 -probesize 10m -r 10 -draw_mouse 1 -video_size {video_size} "{audio}" -c: v libx264 -r 10 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p -c: A /2)*2: ceil (ih/2)*2 "" {filename} "" "" ").system(f"""ffmpeg -y -rtbufsize 200M -f gdigrab -thread_queue_size 1024 -probesize 10M -r 10 -draw_mouse 1 -video_size {video_size} -i desktop -f dshow -channel_layout stereo -thread_queue_size 1024 -i audio="{audio}" -c:v libx264 -r 10 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p -c:a aac -strict -2 -ac 2 -b:a 128k -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" "{filename}" """)

record()()

Nó không khác lắm so với cái khác, nhưng dễ dàng thay đổi tên của các thiết bị hoặc kích thước của màn hình.

Video giải thích mã để ghi lại màn hình

Ghi lại chỉ một cửa sổ có tên

Nếu bạn muốn bạn chỉ có thể ghi lại một cửa sổ chứ không phải toàn bộ màn hình với mã này

ffmpeg-rtbufsize1500m-fdshow-audio = "microfono (tai nghe USB 8- Logitech)"--rtbufsize1500M-fdshow-iaudio="Microfono (8- Logitech USB Headset)"-fgdigrab-framerate30-draw_mouse1-i title=Trace-pix_fmt yuv420p-profile:vbaseline-yHuangbaohua.mp4

tạm ngừng

Lưu tệp này dưới dạng tệp .bat. Hãy nhớ thực hiện thay đổi cho các thiết bị như chúng tôi đã thấy ở trên để ghi lại toàn bộ màn hình. Tên của cửa sổ phải chính xác.

Cách nén âm thanh để chất lượng tốt hơn

Tôi đã tạo mã này để cải thiện chất lượng ghi âm trong quá trình ghi phát trực tuyến hoặc màn hình máy tính và âm thanh, nó dài hơn một chút và hỏi bạn trong thư mục nào bạn muốn ghi lại và tên bạn muốn đặt tên cho nó:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

Nhập hệ điều hànhos

Nhập khẩu Quả cầuglob

x=0=0

Def Ask ():ask():

& nbsp; & nbsp; & nbsp; & nbsp; fld = "h: \\ ffmpeg \\ oput \\"fld="H:\\ffmpeg\\output\\"

& nbsp;new_fld=input("Nuova cartella (opzionale, invio=stessa cartella)?: ")

& nbsp; & nbsp; & nbsp; & nbsp;# aggiunge la cartella al percorso# aggiunge la cartella al percorso

    ifnew_fld!="":ifnew_fld!="":

& nbsp; & nbsp; & nbsp; & nbsp;fld=fld+ new_fld+"\\"

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# crea la cartella, se non c'è già

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;ifnew_fld notinos.listdir("H:\\ffmpeg\\output\\"):

            os.mkdir(fld)os.mkdir(fld)

& nbsp; & nbsp; & nbsp; & nbsp; filename = input ("Nome del file:")filename=input("Nome del file: ")

    filename=fld+filename+".mp4"filename=fld+filename+".mp4"

    returnfilenamereturnfilename

def automatic_name ():automatic_name():

& nbsp; & nbsp; & nbsp; & nbsp; ""Crea il nome da solo / ora chiedo il nome del file prima"

    globalxglobalx

& nbsp; & nbsp; & nbsp; & nbsp; fld = "h: \\ ffmpeg \\ oput \\ output"fld="H:\\ffmpeg\\output\\output"

    ifnotfld+str(x)+".mp4"inglob.glob(fld+"*.mp4"):if notfld+str(x)+".mp4"inglob.glob(fld+"*.mp4"):

        filename=fld+str(x)+".mp4"filename= fld+str(x)+".mp4"

    else:else:

        x+=1x+=1

        record()record()

    filename=fld+filename+".mp4"filename =fld+filename+".mp4"

    returnfilenamereturnfilename

DEF RECORD (tên tệp):record(filename):

& nbsp; & nbsp; & nbsp; & nbsp;# microfono (tai nghe Huawei USB-C)# Microfono (HUAWEI USB-C HEADSET)

& nbsp; & nbsp; & nbsp; & nbsp; audio = "microfono (tai nghe USB 8- Logitech)"audio ="Microfono (8- Logitech USB Headset)"

& nbsp; & nbsp; & nbsp; & nbsp;# audio = "microfono (tai nghe Huawei USB-C)" "# audio = "Microfono (HUAWEI USB-C HEADSET)"

    video_size="1366x768"video_size="1366x768"

& nbsp; & nbsp; & nbsp; & nbsp;# đã thêm một máy nén 15/03/2020# added a compressor 15/03/2020

& nbsp; & nbsp; & nbsp; & nbsp; máy nén = "-af acompressor = ngưỡng = 0,089: tỷ lệ = 9: tấn công = 200: phát hành = 1000"compressor="-af acompressor=threshold=0.089:ratio=9:attack=200:release=1000"

& nbsp; & nbsp; & nbsp; & nbsp; os.system (f "" stereo -thread_queue_size 1024 -i audio = "{audio}" : A 128K -VF "pad = ceil (iw/2)*2: ceil (ih/2)*2" "{filename}" "" ")os.system(f"""ffmpeg -y -rtbufsize 200M -f gdigrab -thread_queue_size 1024 -probesize 10M -r 10 -draw_mouse 1 -video_size {video_size} -i desktop -f dshow -channel_layout stereo -thread_queue_size 1024 -i audio="{audio}" {compressor} -c:v libx264 -r 10 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p -c:a aac -strict -2 -ac 2 -b:a 128k -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" "{filename}" """)

# fileName = "rtmp: // youtube_stream_url/03r8-71q2-nyrvm-bbe7"

filename=ask()=ask()

record(filename)(filename)

Thay đổi các tính năng PC của bạn cho mic và màn hình âm thanh, sử dụng tập lệnh này để kiểm tra các thiết bị của bạn (tạo tệp .bat với các lệnh này và chạy nó):

ffmpeg-list_devices true-fdshow-idumm-list_devices true-fdshow-idummy

tạm ngừng

Lưu tệp này dưới dạng tệp .bat. Hãy nhớ thực hiện thay đổi cho các thiết bị như chúng tôi đã thấy ở trên để ghi lại toàn bộ màn hình. Tên của cửa sổ phải chính xác.

Cách nén âm thanh để chất lượng tốt hơn
Pygame cheatsheets Videos about this map editor
New free game: Crystal of time
How to make a map editor 1
How to make a map editor 2
How to make a map editor 3
Map editor 1.5
Map editor 1.6
How to make a videogame map editor with Python - MEP v. 2.1
Map editor for 2d platform game in Python with Pygame v.3.0
How to save a list with pickle with python
Pygame Map Editor 4.0 for Crystals of time
Github repository
Newest branch (to clone it with git)
git clone --branch cotb2 https://github.com/formazione/timecrystals.git

Tôi đã tạo mã này để cải thiện chất lượng ghi âm trong quá trình ghi phát trực tuyến hoặc màn hình máy tính và âm thanh, nó dài hơn một chút và hỏi bạn trong thư mục nào bạn muốn ghi lại và tên bạn muốn đặt tên cho nó: