Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 17009|Yanıt: 4

Windows altında görevleri işlemek için GPU hızlandırılmış ffmpeg kullanın

[Bağlantıyı kopyala]
2019-11-7 tarihinde yayınlandı 21:08:29 | | | |
ffmpeg indir

Resmi web sitesi indirme sayfası:
Bağlantı girişi görünür.
Derlenmiş versiyonu indirmeniz ve sayfayı indirmeniz önerilir:
Bağlantı girişi görünür.
Genelde en son sürümü indirmeyi tercih ederim (tarihin adını taşıyor) ve tabii ki stabil bir sürüm var (sürüm numarasından adı).



CUDA indirme

CUDA, GPU'nun ilgili işlemleri yapmasına izin veren bir sürücüdür, çünkü doğrudan GPU'yu kontrol etmeyen ama sürücü üzerinden çalışan uygulamalar geliştiriyoruz.
Bağlantı girişi görünür.
Burada aşağıda gösterildiği gibi versiyonu seçiyorum:
Tabii ki, indirmemde doğrudan ayarlara gitmek için aşağıdaki bağlantıya tıklayabilirsiniz.
Bağlantı girişi görünür.


İndirdikten sonra kurmayı unutmayın, böylece tanıtmayacağım, sonuçta hepsi yazılım geliştiriyor.

komut

Sorgu komutları
İndirilmiş ffmpeg'in cuda'yı destekleyip desteklemediğine bakın, desteklemiyorsa (ben indirdim), sonra tekrar indirin ya da kendiniz derleyin.




Test komutları

Mevcut dizindeki 0.mp4 00.mp4 dönüştürün
Mevcut dizindeki 0.mp4 00.mp4'ye dönüştürün ve çıkış kare hızını 15 (-r 15) ve bit hızını 500k (-b 500k) olarak belirtin.
-hwaccel cuvid: cuvid donanım hızlandırmasının kullanımını belirtir
-c:v h264_cuvid: Video kod çözme h264_cuvid
-c:v h264_nvenc: Video kodlama ile h264_nvenc
-vf scale_npp=1280:-1: Çıkış videosunun genişliğini ve yüksekliğini belirtin, bunun yumuşak çözme için kullanılan -vf scale=x:x ile farklı olduğunu unutmayın

Birden fazla grafik kartı komutu

GPU transkodlama verimlilik testi
İki Intel-E5-2630v3 işlemci ve iki Nvidia Tesla M4 ekran kartı bulunan bir sunucuda, h264 video transkodlama testi aşağıdaki şekilde gerçekleştirildi:

Ortalama GPU transkodlama süresi: 8s
Ortalama CPU transkodlama süresi: 25s

Paralel olarak transkodlama yapılırken, CPU yumuşak dönüşüm verimliliği artar; üç transkodlama görevi paralel olduğunda 32 çekirdek tamamı doludur

Ortalama GPU transkodlama süresi: 8s
Ortalama CPU transkodlama süresi: 18s

GPU'nun transkodlama hızının paralel olduğunda artmadığını görmek zor değildir; bu da bir GPU'nun aynı anda yalnızca bir transkodlama görevini yapabildiğini gösterir. Yani, sunucuya birden fazla grafik kartı takılırsa, ffmpeg paralel transkodlama için birden fazla GPU kullanır mı?
Ne yazık ki, cevap hayır.
ffmpeg, farklı GPU'lara otomatik olarak transkodlama görevlerini atama yeteneğine sahip değil, ancak biraz araştırma sonucunda, transkodlama görevi için kullanılan GPU'nun -hwaccel_device parametresi ile belirlenebileceği ortaya çıktı!
Transkodlama görevlerini farklı GPU'lara gönderin

Grafikler 0


Grafik kartı1

Göstermek:

-hwaccel_device N: Bir transkodlama görevini gerçekleştirecek bir GPU belirtin, N bir sayıdır





Önceki:[Pratik dövüş] Nginx temelinde bir Docker görüntüsü yaratın
Önümüzdeki:2000 logo prototipleri
 Ev sahibi| 2019-11-7 tarihinde 21:18:35 tarihinde yayınlandı |
//参数说明
/*
    * -i dosya adı (giriş) kaynak dosya dizini
    * -y Yeni dosyaları çıkarır, mevcut dosyaların üzerine yazmaya zorla girip gitmeyeceği
    * -c Kodlayıcıyı belirtir
    * -fs limit_size(outinput) dosya boyutu sınırını bayt cinsinden ifade eder. Sınır aşıldıktan sonra başka bayt bloğu yazılmaz. Çıktı dosyasının boyutu, istenen dosya boyutundan biraz daha büyüktür.
    * -s video oranı 4:3 320x240/640x480/800x600 16:9 1280x720, varsayılan değer 'wxh', orijinal video boyutuyla aynıdır
    * -vframes numarası(çıkış) çıktıya video kare sayısını belirler. Takma ad: -frames:v
    * -dframes sayısı (çıktı), çıktıya veri çerçevesi sayısını ayarlar. Takma Adım: -frames:d
    * -frames[:stream_specifier] framecount(output, per-stream) kare sayısı için akışa yazmayı durdurur.
    * -bsf[:stream_specifier] bitstream_filters (çıkış, akış başı) çıkış dosya akışı formatını belirtir,
Örneğin, h264 ile kodlanmış bir MP4 dosyası çıktısı alın: ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264
    * -r 29.97 Zhen hızı (değiştirilebilir, standart olmayan Zhen hızının ses ve görüntünün senkronizasyonu bozmasına neden olacağından emin olun, böylece sadece 15 veya 29.97 olarak ayarlanabilir)
    *
    */
 Ev sahibi| 2019-11-8 tarihinde 15:07:05 tarihinde yayınlandı |
ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -i C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -y C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A16.avi

https://blog.csdn.net/Tosonw/article/details/90178195


NVCC --versiyonu

CUVID, CUVID'i kod çözme için CUVID kullanan CUDA tabanlı bir video çözme kütüphanesidir


Direct3D cihazı oluşturulamadı
Cihaz oluşturma başarısız oldu: -1313558101.

ffmpeg versiyonu, donanım hızlandırmasını doğru şekilde etkinleştirmek için senkron grafik kartı sürücüsüne karşılık gelmelidir.


NVIDIA donanım hızlandırma kodekine göz atın:

.\ffmpeg.exe -kodekler | SLS nvenc
.\ffmpeg.exe -kodekler | SLS cuvid

Önek şu anlamlara sahiptir:

Önek anlamı
D….. = Kod çözme destekleniyor
. E.... = Desteklenen kodlama
.. V... = Video kodek
.. A... = Ses kodek
.. S... = Altyazı kodeksi
… I.. = Sadece kare içi kodek
....L. = Kayıplı sıkıştırma
….. S = Kayıpsız sıkıştırma



ffmpeg.exe -hwaccel_device 1 -hwaccel cuvid -c:v h264_cuvid -i C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -c:v h264_nvenc -y C:\Users\DELL\Desktop\VideoDemo\ VideoDemo\bin\Debug\A16.avi

ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\A14.mp4 -c:v h264_nvenc -y C:\Users\DELL\Desktop\VideoDemo\VideoDemo\bin\Debug\ A16.avi


https://developer.nvidia.com/ffmpeg
2023-2-26 tarihinde yayınlandı 12:11:24 |
Istemi:Yazarlar yasaklanır veya kaldırılır, içerik otomatik olarak engellenir
2023-2-26 tarihinde 12:13:35 tarihinde yayınlandı |
Istemi:Yazarlar yasaklanır veya kaldırılır, içerik otomatik olarak engellenir
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com