Ben böyle şeyler kullanıyorum:
avconv -f x11grab -s 1024x768 -r 24 -i 0:0 -deadline realtime -b 5000000 -minrate 200000 -maxrate 40000000 recording-filename-000.webm
Nerede:
-f x11grab
- girişin "yakalama" ekran yakalama zorlar.
-s 1024x768
girdi dosyasının çözünürlüğüdür (yakalama alanı olarak da bilinir). Örneğin, masaüstü çözünürlüğüne eşittir. Bundan küçükse, kayıt alanı solda ve üstte olacaktır. Bu örnekte 1024x768 kayıt alanı kullandım.
-r 24
- kare hızı. Temel olarak, düzgün bir kayıt görüntüsü vermek için gerçek filmler tarafından kullanılan 23 ila 30 FPS. Ancak screencast için daha düşük bit hızlarında daha iyi görüntü elde etmek için bunu azaltmak uygun olabilir. Oyun ekranı çekimi yapmak için 24 adet kullandım.
-i 0:0
kaynak olarak 0: 0 ekranını kullanma ipucudur (cihaz xorg gösterimindedir). Yalnızca 1 monitörünüz ve varsayılan Xorg kurulumunuz varsa, çoğu zaman 0: 0 iyi olur.
-deadline realtime
- libvpx için bir ipucudur. Canlı yakalama istiyoruz. Gerçek zamanlı performans istiyoruz. Yani libvpx, VP8'i REALTIME içinde kodlamak için en iyisini yapacaktır. Bunu yapmak için hız kalitesi biraz değişiyor. Verilen bit hızında kalite, gerçek zamanlı olmayan şekilde biraz daha kötü olacaktır. Ancak kodlama hızı hızla yükselirdi. Bu yüzden donanımımda 1024x768 @ 24FPS, yoğun sahneler, herhangi bir kare düşürmeden kırılabilir (güçlü CPU önerilir). Bu örnekte iyi FPS ve oldukça geniş yakalama alanında iyi kalitede canlı yakalama istedim. Bu nedenle, codec bileşeni ile CPU kullanımı bir sorun olabilir. Bu yüzden bu ipucunun iyi sonuçlar için gerçekten ihtiyacı vardı.
-b 5000000
- bit / saniye cinsinden hedef bit hızı. Oldukça yoğun sahnelerin az çok iyi resmini elde etmek için 5Mbits kullandım. Codec, videonun ortalama bit hızı hızını bu değere yakın tutmaya çalışacaktır. Bu değer ne kadar düşük olursa, kalite o kadar kötü olur ve dosya küçülür. Belirli kullanımlar için hangi bit hızının iyi olduğu hakkında fikir edinmek için biraz deney yapabilirsiniz. Video paylaşım hizmetleri, aşırsanız videoyu aşağı dönüştürür. Kendi sunucunuzu kullanmak üzereyseniz, trafiğe dikkat etmek size kalmıştır. Eğer aşıyorsanız, resim kalitesi kötü olacaktır. Sizin için en iyisi hakkında fikir edinmek için değeri değiştirmekten çekinmeyin. 5Mbits, görüntünün aşırı sıkıştırıldığını kolayca göremediğiniz oyunlarda yoğun sahnelerin az ya da çok göz alıcı canlı çekimi için tasarlanmıştır. Hareketsiz uygulamaları yakalamak için temelde bundan çok daha azına ihtiyacınız olacaktır.
-minrate
200000 - kodek için izin verilen minimum bit hızıdır. Yakalamak istediğiniz şeyin doğasına bağlı olarak, bazen ne olursa olsun makul görünümlü bir kıyafet giymek için minimum bit hızını zorlamak isteyebilirsiniz. Bazen kodek buluşsal yöntemi, bit hızını istediğiniz değerlerin çok altına düşürebilir ve bazı sahnelerde kötü resim verebilir. Bu seçenek, kodek sahnenin basit olduğunu ve bit hızının düşebileceğini düşünse bile kodeklerin minimum bit hızını korumaya zorlar. Bu parametrenin yüksek değeri, codec bileşeninin daha düşük bit hızları kullanmasını engelleyerek dosya boyutunu artırabilir.
-maxrate 40000000
- Bu değer yoğun sahnelerde maksimum patlama bit hızını kontrol eder. Bazı sahnelerde daha iyi bir hız elde etmek için daha yüksek hızın zorunlu olduğunu düşünüyorsa, codec bileşeninin istenen ortalamanın çok üzerine çıkmasına izin vermek için gerçekten yüksek bir değer kullandım. Her koşulda iyi görünümlü bir resim elde etmek için bunu yeterince yüksek ayarlamak istenir (40Mbits BlueRay benzeri bir hızdır ve hile yapar). Öte yandan, kendi sunucunuzu kullanarak akış yapmak üzereyseniz, yoğun sahnelerde bazı resim kalitesi pahasına bu değeri düşürmeniz gerekir. Başka bir sunucu istenen patlama bit hızı ile başa çıkamayarak kullanıcılara gerçek zamanlı olarak teslim edemez. Sonra oyuncu arabellek yetersizliği ile karşılaşır (bu sinir bozucu). Video paylaşım hizmetleri kendi başlarına ilgilenecek ve genellikle videoyu resim kalitesi pahasına daha düşük parametrelere indirecektir.
recording-filename-000.webm
- çıktının dosya adıdır. .Webm uzantısını kullanırsanız, ffmpeg / avconv, WEBM'yi istediğinizi anlayacak kadar akıllıdır. Bu basit - avconv dosya adından istenen formatı tahmin eder. Yani .WEBM dosyaları WEBM'dir.
İşte bu - bu komut ekran kaydını webm dosyasına yönlendirir. Ekstra dönüşüm gerekmez ve libvpx
olabildiğince hızlı olması ima edilir. Ses girişi için spesifikasyon olmadığı için ses yok. İstediğiniz şey olabilir veya olmayabilir. Ses için ses akışı için de giriş kaynağı belirtmeniz gerekir.
Not: Bu biraz fazla karmaşık görünebilir, ancak günün sonunda bir boyutun hepsine uymayacağını anlayabilirsiniz. Bu nedenle, her durumda iyi görünen bir resim elde etmek için, codec bileşeninin bazı tutamaçlarını kullanmak ve bunları ayarlamak isteyebilirsiniz. Ffmpeg, ihtiyacınız olabilecek tüm tutamaçları ve bundan çok daha fazlasını size sunar. Video dönüştürme ve kodlamanın ağır bir silahı. Bu örnek, daha fazla veya daha az gelişmiş kodlama yapmak isteyenler için iyi bir nokta ve gerçekten iyi görünümlü sonuçlar elde etmek için biraz denemeye hazır.