Bagaimana saya bisa merekam permainan grafik vektor saya tanpa mengaburkan gambar?


15

Banyak orang meminta trailer untuk gim saya, karena tangkapan layar tidak melakukannya dengan adil. Saya telah menguji PlayClaw, Fraps, CamStudio, VirtualDub, dan beberapa alat kecil lainnya; tidak ada yang menghasilkan hasil yang layak. Gim saya menggunakan grafik vektor dan dirancang untuk berjalan pada 60fps, sehingga kompresi video tangkapan layar biasa yang hilang akan merusak daya tarik grafis.

Bagaimana saya bisa merekam permainan tanpa mengaburkan gambar saya dan memperlambat framerate?


2
Fraps terlalu lambat untukmu? pastikan Anda telah mengaturnya untuk merekam pada 60fps bukan 30fps default.
David Young

Bisakah Anda membuat pertanyaan Anda sedikit lebih luas? Saya pikir itu akan menarik untuk mengetahui tidak online tentang merekam permainan itu sendiri untuk trailer sederhana tetapi juga untuk memproduksi video yang akan diputar dalam permainan, Cut Scenes atau bahkan trailer dengan tambahan untuk efek visual yang lebih seperti itu seperti beralih bagian dari video dll ... Menyarankan untuk pertanyaan Anda karena ada pertanyaan serupa di sekitar saya belive ...
Prix

1
Prix ​​yang akan terlalu berbeda ... Membuat Cut Scenes adalah bidang pekerjaan lain!
speeder

3
Saya pikir Anda harus benar-benar mempertimbangkan kembali fraps. Dari semua solusi yang saya lihat itu memiliki kualitas terbaik, dan tidak ada logo untuk investasi kecil. (Anda tidak mengatakan gratis, dalam pertanyaan Anda)
Jesse Dorsey

3
Saya mendukung jawaban saya sebelumnya. Jika Anda dapat memutar ulang masukan dan kekuatan (atau bahkan replay) timestep, Anda dapat merekam frame mentah dan lakukan dengan mereka seperti yang Anda harap tanpa setiap kehilangan kualitas.
Kaj

Jawaban:


22

Jadikan framerate game Anda independen, sehingga Anda dapat mengaturnya agar bermain dengan stempel waktu tetap. Mainkan game Anda, rekam inputnya. Putar ulang dengan stempel waktu tetap, input yang direkam, dan tulis setiap frame ke file - karena Anda memutar ulang dengan stempel waktu tetap, tidak masalah berapa lama waktu yang dibutuhkan untuk menulis bingkai. Dengan cara itu rekaman sumber Anda tidak terkompresi dan Anda dapat memutuskan kualitas nanti tanpa harus mengorbankan kecepatan, atau memiliki gangguan karena program penangkapan. Setelah itu hal-hal seperti After Effects masuk - setidaknya Anda akan memiliki bahan sumber renyah.

Diedit untuk menambahkan: ya, saya tahu, membuatnya framerate independen untuk diputar ulang pada waktu yang ditetapkan adalah konyol. Duh Nah, jika framerate frapsate independen mungkin tidak terlalu menjadi masalah juga; o) Bagaimanapun juga game harus framerate independen!


5
Independen Framerate dan pemutaran deterministik juga berguna untuk pengujian. Noel Llopis memiliki artikel bagus di sini: gamesfromwithin.com/back-to-the-future-part-1 (ada juga bagian kedua yang ditautkan).
celion

Jadi ... ide Anda adalah recode seluruh mesin (yang saya tidak buat btw) untuk membuatnya mendukung beberapa cara merekam input dan memutar ulang input yang disebutkan dengan sempurna? Maaf, tetapi ini tidak berhasil, terutama karena meskipun permainan bersifat deterministik (satu-satunya acak dalam efek visual) mesin fisika dapat berfluktuasi, dan itu tidak akan berfungsi dengan baik ... Saya bertanya tentang hal-hal pemasaran, bukan hal-hal pemrograman .
speeder

Jika mesin fisika dapat berfluktuasi itu tidak deterministik. Perekaman input (di kebanyakan mesin) dihubungkan di satu tempat, sulit 'mengkode ulang seluruh mesin' ..... bagaimanapun, saya dengar ya. <b> Pengkodean video adalah operasi yang cukup mahal, lossless namun kompresi yang baik lebih mahal . Jika akses harddisk memang merupakan masalah, Anda dapat mempertimbangkan untuk menyiapkan ram disk jika Anda memiliki memori yang tersisa. Adapun komentar Anda tentang pemasaran, maaf, saya pikir Anda sedang mencari solusi - ini akan mengatur Anda untuk masa depan juga (bagaimana jika Anda perlu hi-res?). Jika di luar ruang lingkup, maka .. coba ram-disk.
Kaj

Mengapa "membuatnya framerate independen untuk diputar ulang pada waktu yang ditetapkan adalah konyol"? Agar output framerate tetap mengandung urutan yang Anda rekam, itu harus framerate independen saat merekam.
falstro

Belum tentu. Jika bingkai berjalan pada framerate tetap terjamin (relatif tidak mungkin, tetapi jika) Anda bisa memutar ulang pemberian kunci saat mereka masuk dan dengan asumsi waktu yang sama. Selain itu, itu terdengar konyol: op
Kaj

8

Artikel tentang Pixel Prospector ini mungkin yang Anda butuhkan:

Cara Merekam Dan Mengedit Video Gameplay

Game yang digunakan dalam video adalah NeonPlat 2, yang juga menggunakan grafik vektor.

Artikel ini mencakup semuanya, dari menangkap hingga mengedit.


Ok, saya menghadiahkan hadiah untuk yang satu ini, itu yang sebenarnya benar-benar benar ... Pokoknya, terima kasih kepada Kaj karena menyebutkan ram drive (menyelesaikan masalah kelambatan disk), tapi saya tidak bisa memberikan ... setengah -berhasil untuk setiap jawaban.
speeder

Tidak masalah. Semoga Anda berhasil meraih sesuatu dengan benar!
Kaj

2
Halaman yang diarsipkan ada di sini . Mereka memperbarui halaman yang tampaknya sebagai daftar besar perangkat lunak
perekaman layar

4

Untuk merekam rekaman game Anda, Anda bisa mencoba CamStudio , yang gratis. Saya menemukan bahwa itu tidak bekerja dengan game dalam mode layar penuh, jadi Anda ingin menjalankan game Anda di jendela.

Sedangkan untuk membuat trailer yang sebenarnya, Anda akan memerlukan beberapa perangkat lunak pengeditan video. Ada beberapa opsi komersial yang mahal, tetapi jika Anda mencari sesuatu yang gratis, pilihan Anda lebih terbatas. Anda dapat mencoba Windows Movie Maker, atau iMovie jika Anda memiliki Mac, tetapi editor video gratis terbaik yang saya temukan adalah Blender , lebih dikenal sebagai pemodelan 3D dan alat animasi. UI tidak intuitif, tetapi jika Anda meluangkan waktu untuk mempelajarinya, Anda juga akan mendapatkan alat pengeditan video yang cukup bagus.


3

Pengalaman terbaik saya adalah dengan Fraps tetapi saya menggunakan versi lengkap (sepertinya hadiah kecil satu kali untuk membayar utilitas besar) yang tidak memiliki batasan atau logo. Anda dapat mengatur framerate sebelumnya, seperti yang disarankan David Young dalam komentarnya. Seperti banyak alat perekaman video lainnya, Fraps menggunakan kompresi berbiaya rendah saat sedang merekam yang kemudian dapat dikonversi ke format kompresi pilihan Anda yang lebih tinggi. Untuk ini saya biasanya menggunakan VirtualDub.

Saya tidak punya masalah menjalankan Fraps di belakang permainan saya dengan kecepatan penuh (50fps dalam kasus saya) mendapatkan tangkapan berkualitas tinggi.

Masalah utama di sini adalah bahwa menangkap memerlukan kinerja, dan Anda harus selalu mencoba melakukannya di komputer terbaik yang tersedia. Lebih khusus, alat penangkap membuat penulisan disk yang substansial dan berkelanjutan sehingga memilih untuk menyimpan file pada hard drive cepat adalah kuncinya. Laptop sering kali disertai dengan hard drive akses yang lebih lambat sehingga ini dapat mempengaruhi kinerja banyak. Menggunakan ukuran bingkai yang lebih kecil selama penangkapan memberikan hard drive waktu yang lebih mudah dan dapat menjaga framerate Anda tetap tinggi. Fraps memungkinkan Anda untuk mengatur frame setengah ukuran.

Dalam kasus Fraps, kualitas film akhir sangat dipengaruhi oleh kompresi apa yang Anda gunakan saat mengonversi AVI capture berkode FPS1 ke format yang dapat didistribusikan. Jika Anda tidak mempertimbangkan kehilangan di sini, tentu saja tidak masalah seberapa baik alat tangkap dilakukan.

Saya benar-benar tidak berpikir bahwa program yang Anda sebutkan umumnya seburuk itu, tetapi perlu beberapa konfigurasi sebelum mereka tampil optimal bersama-sama dengan Anda game tertentu.


Menyimpan setiap frame individu di PNG mungkin bukan ide yang baik jika Anda sudah memiliki masalah dengan kecepatan. Mungkin akan memakan lebih banyak waktu CPU dan disk karena akan membutuhkan setiap frame untuk disimpan dengan semua informasinya. Ketika meng-encode dan menyimpan film, banyak encoders menggunakan sejumlah frame-kunci yang lengkap dan membiarkan frame yang berurutan setelahnya didefinisikan sebagai perbedaan antara satu frame dengan yang berikutnya. Ini bisa menjadi pengurangan besar dalam ukuran tetapi tidak membiarkan Anda mengambil satu bingkai dan membacanya tanpa bingkai kunci.

Ukuran setiap frame tidak hanya akan lebih besar jika Anda mencoba membuangnya ke file yang terpisah, tetapi Anda juga akan mendapatkan overhead dari akses file itu sendiri. Ini karena Anda harus membuka pegangan file baru untuk setiap frame alih-alih berpegangan pada dan streaming ke satu file seperti dalam case film.

Taruhan terbaik Anda masih dengan merekam film tanpa kehilangan dan mengekstraksi frame dari itu, ATAU untuk menangkap sejumlah frame terbatas seperti screenshot-screen saat bermain.


Fraps juga memiliki mode perekaman lossless. Tentu saja, ini membutuhkan throughput disk dan RAM yang lebih banyak. Jika Anda membeli versi lengkap (yang saya rekomendasikan) logo dan batas waktu hilang.
BRaffle

Mengapa saya harus mengekstrak bingkai? Saya ingin semua bingkai! @Banana Saya tahu bahwa Fraps memiliki modus lossless, itu adalah modus yang saya sebutkan bahwa Fraps make mendapatkan lambat dan menyebabkan gameplay untuk mendapatkan miring (pantas Fraps ketika lambat bukannya menjatuhkan frame entah bagaimana lambat-down permainan)
speeder

Ok, tentu, tapi maksud saya adalah Anda mendapatkan kecepatan lebih rendah jika Anda mencoba untuk membuang setiap frame ke file gambar individual.
Staffan E

2

Devices like these are super cheap, and I bet you can get a hold of a second computer to run it on (it doesn't need anything special) so you can capture your game from your game running machine (be sure to have a computer with S-Video out for this cheap version). There is also something like this for higher quality capture - http://www.blackmagic-design.com/products/intensity/ but requires USB 3 and is more expensive, but you can capture HDMI and higher resolution. I really see no better option than either of these two.


1

I've used Windows Media Encoder a couple of times to record videos of my games and tools - it's free and produdes good quality videos.

Although, I've wondered the same question too, because recording a video is only half the process (if that). The other half is editing it, adding effects, etc. Windows Movie Maker kinda works but it's fairly simplistic... and crashy.


because recording a video is only half the process Good point i am aswell wondering that as stated on the comment of the initial question...
Prix

1

If on Windows, record using PlayClaw if you want a game video without barely slowing down your computer. On Linux you have glc.



1

Basically, the issues were:

Quality on a vector-based game. CPU amount taken. I/O bottleneck.

What software to use for editing.

To solve quality, I needed a lossless codec, or no compression. The lesser the compression, the more I would have I/O problems, but the more CPU I took, the more I would have CPU problems (doh).

The solution, was use a RamDrive to solve the I/O bottleneck, thus now I was left mostly with how much CPU I wanted to take (ie: the smallest as possible). Thus theoretically the best would be no compression at all, but no compression at all on a ramdrive hit space available problems...

So I researched, and found that the fastest lossless codec (don't matter how much it actually compress), and it was CamStudio Lossless

The software I used, was VirtualDub (CamStudio itself cannot capture the window contents, it capture the entire window, thus wasting space).

Now editing software: Well, noone here gave a good awnser, and neither I will do, but other lists can be found in other places.


3
I notice that you uploaded your video to Youtube. Note that Youtube reencodes all videos in H.264, so after all this hand-waving you ended up using a lossy codec anyways.
BlueRaja - Danny Pflughoeft

0

You might want to try vnc2flv, but it won't do audio itself (you can add in an audio track later though). Not sure if your CPU will hate you trying to do realtime FLV encoding alongside a running game though.


0

It probably sounds obvious, but... Don't full-screen your game while you're recording the video otherwise it will 'obviously' be incredibly slow because it captures your screen resolution. I'm guessing this is what you're being bit by.

FRAPS will take care of this just fine. So will many others but I found FRAPS the most convenient and easiest to use.

I used FRAPS to record and Windows Movie Maker to put together some maps I made in Starcraft II -- example.


Actually... I don't even tried in fullscreen, all my tests was in windowed mode.
speeder

0

Here's what I've done in the past to make video-only trailers:

  1. Make your game runnable with a fixed time step. That means passing in the time between now and the last frame explicitly rather than calculating it internally to your game loop.
  2. After rendering a frame, dump it out to a lossless picture format such as .tiff with the frame number as its name. This makes it easy for another app to encode a series of pictures into a movie.
  3. Dump into the appropriate video encoder (I wrote a simple one using DirectShow) to convert to .avi or whatever video format you want.

0

the best way is make your game self recordable. Easy way is just save every frame with fixed framerate. With SSD it takes "no" time. Harder way is to make your own "fraps". If You do it. You can directly communicate with your game.


0

I've made a trailer recently for my game. I was somewhat helped by the engine, that allows for screenshots fast enough to actually animate. What I did:

  • Although I did not fixed the framerate, the captures were made at fixed intervals, 25 per second. I recorded my game session, which generated thousands of images on the drive.
  • I then imported these images into a clip in kdenlive
  • Added some titles, music, logos, fades in and fades out to give it a more pleasant look

Actually capturing the images directly meant that I could not get the sounds from the game, but got a much better quality of images. Adding some music more than made up for it.


-6

If you have two PCs use skype's screen sharing feature. Play the game in one PC then use the other to capture the video. This way you won't affect your game and resources won't be scarce for the video capture program.

Conversely you can buy a video capture card for your PC.


wut... .. . . .
David McGraw

3
Skype can't magically send video without encoding it, which is what will take the CPU time away from the program.

1
This is the worst idea I've ever seen.
Mathias Lykkegaard Lorenzen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.