Bagaimana cara membuat rekaman desktop WebM?

13

Saya mencari aplikasi perekam desktop / screencast yang dapat menampilkan dalam format WebM, atau program yang dapat mengonversi format .ogv yang dihasilkan oleh gtk-recordmydesktopmenjadi WebM.

Saya telah memilih WebM sebagai format yang saya butuhkan karena sepertinya itu satu-satunya codec gratis yang didukung oleh YouTube, di mana rekaman saya akan berakhir. Saya sudah mencoba mengunggah .ogv di masa lalu dan mendapatkan video berwarna hijau pekat, sehingga tidak akan berfungsi untuk saya.

Saya tinggal di AS dan saya sadar berusaha menjauhi apa pun yang mungkin memiliki masalah paten perangkat lunak, seperti gstreamer0.10-plugins-uglyatau gstreamer0.10-plugins-bad. Karena alasan inilah saya awalnya tertarik pada Tibesti (misalnya), tetapi itu membutuhkan instalasi paket seperti yang disebutkan di atas.

Saya telah melakukan pencarian online untuk solusi gratis (seperti dalam hal uang dan kebebasan), tetapi sejauh ini tidak dapat menemukan apa pun. Ada saran?

Christopher Kyle Horton
sumber
dapatkah Anda memberi tahu lokasi Anda?
Lincity
@Alaukik, saya telah menyatakan di atas bahwa saya tinggal di AS. Jika Anda perlu tahu negara bagian mana, saya tinggal di Michigan. Saya tidak ingin lebih spesifik dari itu.
Christopher Kyle Horton
@ Warriorlng64 oops!
Lincity

Jawaban:

6

12,04 LTS

Tampaknya ffmpeg tidak lagi berfungsi dengan baik dalam rilis ini untuk mengonversi recordmydesktoprekaman .ogv ke WebM. Karena tidak lagi dipertahankan, disarankan untuk menggunakan penggantinya avconv, yang disediakan dalam libav-toolspaket (yang tampaknya diinstal secara otomatis jika ffmpegdiinstal).

Perintah yang diperlukan untuk menggunakan avconvkonversi tidak jauh berbeda dari ffmpeg:

avconv -i input.ogv output.webm

Jadi, jika ada orang yang menghadapi masalah yang sama dengan mencoba menggunakan hanya paket gratis untuk mengkonversi dari. Ini seharusnya bermanfaat jika Anda membuat rekaman untuk memperlihatkan fitur baru atau mendokumentasikan masalah menggunakan video.

Christopher Kyle Horton
sumber
Baru-baru ini saya mulai bekerja pada Kazam , sekarang dapat merekam dalam format VP8 / WebM dan H264 / Matroska. Saya membuat PPA build untuk Oneiric dan Precise. Ini menggunakan gstreamer untuk merekam dan tidak memerlukan ffmpeg. Ini harus bekerja pada Ubuntu yang diinstal dengan bersih tanpa codec tambahan.
BigWhale
@ BigWhale Menjelajahi kode sedikit, saya perhatikan tampaknya masih bergantung pada gstreamer0.10-plugins-baddan gstreamer0.10-plugins-ugly. Paket-paket ini berisi codec yang saya coba hindari karena masalah paten, sebagaimana dinyatakan di atas. Jika versi terbaru / alternatif tersedia yang tidak bergantung pada paket ini, beri tahu saya dalam jawaban baru. Bagaimanapun, terima kasih!
Christopher Kyle Horton
Saya mendapatkanError while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
jrg
@ jrg Saya mendapat masalah serupa di laptop saya ketika mengkonversi video yang saya rekam menggunakan solusi yang diposting pada laporan bug inirecordmydesktop . Anehnya, ketika saya mengambil video yang sama ke mesin desktop saya dan mengubahnya di sana, itu bekerja tanpa masalah. Jadi ... itu mungkin bug, tapi saya pikir saya belum cukup tahu tentang itu untuk mengajukan laporan.
Christopher Kyle Horton
1
Sebagai catatan: FFMpeg masih dipertahankan (pada kenyataannya versi 1.0 baru-baru ini keluar), tetapi telah terjadi perang kecil antara beberapa pengembang, yang menyebabkan garpu avconv. Hanya saja pengelola debian / ubuntu memihak avconv. Pesan "PROGRAM INI DIHAPUSKAN" sangat menyesatkan. Baca tentang situasi saat ini di sini: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html .
phoibos
6

Saya menggunakan hal-hal seperti itu:

avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm

Dimana:

-f x11grab - memberlakukan "format" tangkapan layar dari input.

-s 1024x768adalah resolusi file input (alias area tangkap). Misalnya sama dengan resolusi desktop. Jika lebih kecil dari itu, area perekaman akan berada di kiri dan atas. Saya menggunakan area perekaman 1024x768 dalam contoh ini.

-r 24- framerate. Pada dasarnya, 23 hingga 30 FPS digunakan oleh film nyata untuk memberikan gambar rekaman yang halus. Namun untuk screencast, boleh saja mengurangi ini untuk mendapatkan gambar yang lebih baik pada bitrate lebih rendah. Saya menggunakan 24 untuk menangkap layar game.

-i 0:0adalah petunjuk untuk menggunakan tampilan 0: 0 sebagai sumber (perangkat dalam notasi xorg). Jika Anda hanya memiliki 1 monitor dan pengaturan Xorg default, 0: 0 akan baik-baik saja.

-deadline realtime- Adalah petunjuk untuk libvpx. Kami ingin penangkapan langsung. Kami ingin kinerja waktu nyata. Jadi libvpx akan melakukan yang terbaik untuk menyandikan VP8 di REALTIME. Untuk melakukannya agak memperdagangkan kualitas untuk kecepatan. Pada kualitas bitrate yang diberikan akan sedikit lebih buruk daripada dengan cara non-realtime. Tetapi kecepatan encoding akan meroket. Jadi pada perangkat keras saya dapat menggerogoti 1024x768 @ 24FPS, adegan yang intens, tanpa menjatuhkan frame (meskipun CPU yang kuat direkomendasikan). Dalam contoh ini saya ingin tangkapan hidup berkualitas baik di FPS yang bagus dan area tangkapan yang cukup besar. Jadi penggunaan CPU oleh codec bisa menjadi masalah. Karena itulah petunjuk ini sangat dibutuhkan untuk hasil yang baik.

-b 5000000- bitrate target dalam bit / detik. Saya menggunakan 5Mbits untuk mendapatkan gambar yang cukup bagus dari adegan yang cukup intens. Codec akan mencoba untuk menjaga kecepatan bitrate rata-rata video dekat dengan nilai ini. Semakin rendah nilai ini, semakin buruk kualitasnya dan semakin kecil file. Anda dapat bereksperimen sedikit untuk mendapatkan ide bitrate apa yang baik untuk penggunaan tertentu. Layanan berbagi video akan menurunkan konversi video jika Anda melakukan overshoot. Jika Anda akan menggunakan server sendiri, terserah Anda untuk mengurus lalu lintas. Jika Anda melakukan undershoot, kualitas gambar akan buruk. Jangan ragu untuk mengubah nilai untuk mendapatkan ide yang terbaik untuk Anda. 5Mbits dimaksudkan untuk menangkap adegan intens yang lebih atau kurang menyenangkan mata di game di mana Anda tidak dapat dengan mudah melihat bahwa gambar terlalu dikompresi. Untuk menangkap aplikasi diam Anda pada dasarnya perlu jauh lebih sedikit dari itu.

-minrate200000 - adalah bitrate minimum yang diizinkan untuk codec. Bergantung pada sifat hal yang ingin Anda tangkap, kadang-kadang Anda mungkin ingin memaksa bitrate minimum untuk menjaga gambar yang tampak wajar di apa pun yang terjadi. Terkadang codec heuristic dapat mengurangi bitrate jauh di bawah nilai yang Anda inginkan, memberikan gambar yang buruk di beberapa adegan. Opsi ini memungkinkan untuk memaksa codec untuk mempertahankan bitrate minimum bahkan jika codec berpikir bahwa adegan itu sederhana dan bitrate dapat dibatalkan. Nilai tinggi dari parameter ini dapat meningkatkan ukuran file dengan mencegah codec menggunakan bitrate yang lebih rendah.

-maxrate 40000000- Nilai ini mengontrol bitrate burst maksimum pada adegan yang intens. Saya menggunakan nilai sangat tinggi untuk memungkinkan codec untuk pergi jauh lebih tinggi dari rata-rata yang diinginkan jika menganggap kecepatan yang lebih tinggi wajib untuk menjaga kualitas yang layak di beberapa adegan. Untuk mendapatkan gambar yang terlihat bagus dalam semua kondisi, diinginkan untuk mengatur ini cukup tinggi (40Mbits adalah kecepatan seperti BlueRay dan akan melakukan triknya). Di sisi lain, jika Anda akan melakukan streaming menggunakan server Anda sendiri, Anda harus mengurangi nilai ini dengan mengorbankan beberapa kualitas gambar pada pemandangan yang intens. Server lain bisa gagal mengatasi bitrate burst yang diinginkan, karena tidak dapat mengirimkannya secara realtime kepada pengguna. Kemudian pemain akan menghadapi buffer underrun (yang menjengkelkan). Layanan berbagi video akan menangani sendiri dan biasanya menurunkan video ke parameter yang lebih rendah dengan mengorbankan kualitas gambar.

recording-filename-000.webm- adalah nama file keluaran. Jika Anda menggunakan ekstensi .webm, ffmpeg / avconv cukup pintar untuk memahami bahwa Anda menginginkan WEBM. Sangat sederhana - avconv menebak format yang diinginkan dari nama file. Jadi. File WEBM adalah WEBM di dalamnya.

Itu dia - perintah ini tidak merekam layar langsung ke file webm. Tidak perlu konversi tambahan dan libvpxdisarankan untuk secepat mungkin. Tidak ada suara karena tidak ada spesifikasi untuk input suara. Mungkin atau mungkin bukan yang Anda inginkan. Untuk suara, Anda harus menentukan sumber input untuk aliran suara juga.

NB ini mungkin terlihat sedikit rumit tetapi pada akhirnya Anda dapat mengetahui bahwa satu ukuran tidak cocok untuk semua. Jadi untuk mendapatkan gambar yang bagus dalam semua situasi Anda mungkin ingin memiliki beberapa pegangan untuk codec yang digunakan dan ingin menyesuaikannya. Ffmpeg memberi Anda semua pegangan yang mungkin Anda butuhkan dan jauh lebih dari itu. Ini adalah persenjataan berat konversi dan pengodean video. Jadi contoh ini adalah titik yang baik untuk memulai bagi mereka yang ingin melakukan pengkodean lebih lanjut atau kurang dan siap untuk sedikit bereksperimen untuk mendapatkan hasil yang benar-benar layak.

Encoder1
sumber
6

Anda dapat membuat rekaman WebM di Ubuntu 11.10 + GNOME Shell dengan menekan Ctrl+ Shift+ Alt+ Rkombinasi tombol.

Pertama kali Anda menekan combo, lingkaran merah muncul di area notifikasi, yang menunjukkan bahwa perekaman dimulai. Kali kedua Anda menekannya, lingkaran merah menghilang dan Anda akan memiliki rekaman Anda di ${HOME}/Videosdirektori.

Info lebih lanjut di sini: Gnome Shell Cheat Sheet: Screencast recording

reygecko
sumber
Pada saat saya menanyakan hal ini, saya tidak memiliki GNOME Shell. Tapi saya biasa mengkompilasinya dari jhbuildpada 10.10 dan saya menginstalnya pada sistem 11.10 saya, dan saya tahu ini juga berfungsi. Terima kasih telah menambahkan jawaban ini!
Christopher Kyle Horton
Dalam versi saat ini (menggunakan 16,04) video disimpan ~/Videosdengan nama file Screencast from {date} {time}.webm.
Kariem
3

Gunakan App transmageddon untuk melakukan itu. aplikasi berbasis Gstreamer

sudo apt-get install transmageddon atau klik di sini instal transmageddon

alz3abi
sumber
Saya melihat dependensi untuk transmageddon melalui sudo apt-get install, dan paket gstreamer-plugins-jelek yang saya sebutkan di atas termasuk dalam daftar. Sekali lagi, saya tidak yakin apakah ini sepenuhnya legal untuk saya gunakan, dan itu penting bagi saya.
Christopher Kyle Horton
2

Gunakan Kazam untuk merekam.

Outputnya adalah mkv , dan berfungsi baik dengan Youtube. Satu-satunya masalah Kazam tampaknya tidak diperbarui untuk sementara waktu.

BTW Anda harus aman menggunakan Tibesti jika saya mengerti dengan benar, kecuali tentu saja Anda benar-benar paranoid bahwa beberapa pesawat ruang angkasa alien raksasa akan menculik Anda dan membuat Anda disiksa karena menggunakan perangkat lunak ...

RolandiXor
sumber
Kazam meminta instalasi ffmpeg selama sudo apt-get install, yang saya tidak yakin apakah saya bisa menggunakannya secara legal.
Christopher Kyle Horton
@ Warrioring64, saya tidak berpikir ffmpeg ilegal ...
RolandiXor
Ini sesuatu yang saya harus khawatirkan, karena saya di Amerika Serikat dan paten perangkat lunak diberlakukan di sini. Silakan lihat bagian ini di Wikipedia jika itu dapat membantu Anda memahami apa yang saya dapatkan di sini.
Christopher Kyle Horton
2
@ Warrioring64 - versi yang termasuk dalam Ubuntu dilucuti dari codec tersebut.
RolandiXor
Oke ... tetapi melihat lebih jauh melalui dependensi yang diberikan, saya juga menemukan libavcodec-extra-52 dan libavutil-extra-52, yang dari sedikit lebih banyak riset yang saya temukan dapat menimbulkan masalah bagi saya. Maaf jika saya tampak agak sulit, tetapi bahkan jika saya mungkin tidak tertangkap secara realistis karena menggunakan perangkat lunak seperti itu, saya masih tidak ingin itu menjadi hati nurani saya.
Christopher Kyle Horton
2

11.10 dan sebelumnya

ffmpegdapat digunakan untuk mengubah .ogv menjadi .webm secara langsung tanpa perlu codec tambahan. Seperti disebutkan dalam komentar pada jawaban lain , versi yang ffmpegdisediakan oleh Ubuntu tidak datang secara default dengan codec yang dapat menimbulkan masalah paten perangkat lunak.

Ini adalah program baris perintah; untuk menggunakannya, cukup buka jendela terminal dan masukkan:

ffmpeg -i input.ogv output.webm
Christopher Kyle Horton
sumber
Iya. Saya baru saja menginstal ffmpeg tanpa repo medibuntu dan menarik semua versi gratis paket dan saya dikodekan sebuah wmv untuk webm mudah dengan ffmpeg -i file.wmv -f webm -sameq file.webm
duffydack
1

imo, Cara terbaik untuk mengkonversi video ke WebM adalah Firefogg .

  • Ini adalah plugin firefox (jadi ini alat multi-platform seperti halnya firefox)
  • Ini akan memampatkan ke format WebM (Sumber terbuka - codec yang kompatibel dengan Web)
  • Ini menawarkan beberapa ukuran pengkodean (sangat nyaman untuk menghasilkan rasio kompresi terbaik)
  • Rasio kompresi yang BENAR-BENAR efisien (setidaknya sebanyak H264)
  • Ini super mudah digunakan

masukkan deskripsi gambar di sini

Sulliwane
sumber