Biraz arka plan, birkaç "küçük" hata tespit ve uygulamanın iki örneği arasında ağ üzerinden video akışı için bu çözümü sürdürmenin görevi verildi. Çözüm artık burada olmayan bir kişi tarafından yazılmıştır, bu yüzden kodda bazı gizemler ve bazı eğlenceli tuzaklar vardır. Çözüm, kodlama/kod çözme ile ilgili kodun yanı sıra bazı akış kodlarının sarılması için C++ kodu ile ffmpeg kullanılarak yazılmıştır. Bu C++ daha sonra SWIG ile sarılmıştır, böylece C# ile birlikte çalışabilir ve bir WPF kontrolünde yaşayan VideoRendererElement kullanarak video çerçevelerini geçirir. Çerçevelerin aktarılmasının temel nedeni, video verilerini göndermemiz gereken bazı özel protokollerimiz ve C# kullanılarak yazılan video protokolleri sayesinde kendi paketlerimize sarmak ve kabloya göndermek . Bu çözüm işe yarıyor ve özel protokollerimizi kullanarak video akışı sağlayabiliyor, ancak bu, sürdürmek ve çalışmak için bir kabusun bir parçası.C# kullanarak video nasıl kodlanır/çözülür?
Soruma göre bunun daha iyi bir yolu var mı? Video kareleriyle (C#) daha düşük bir seviyede çalışmanın yollarını arıyorum, böylece video karelerini alıp kendi paketlerimizde paketleyip gönderebileyim ve videoyu alıp yeniden oluşturabilirim. diğer taraf. ffmpeg ortak bir çözüm gibi görünüyor ama ben onunla bir sürü sorunla karşılaştım ve bir sorun olduğunu düşündüğüm GPL/LGPL şey.
Temel akışını elde etmek istiyorum, video dosyası -> kodlamak -> paketin içinde sarın -> protokolü X'e aktar -> paketinden video verilerini alın -> decode -> diske oluştur/kaydet
LGPL neden sizin için bir problemdir? Uygulamanız ticari müşteriler için olsa bile, bir sorun olmamalıdır. –
Olası Çoğalt: http://stackoverflow.com/questions/271003/anyone-know-of-a-set-of-c-bindings-for-ffmpeg –
GPL/LGPL şey başka bir işçi tarafından yetiştirildim ama ffmpeg'i ve bazı bağımlı kütüphanelerini nasıl kullandığımızla ilgili lisansı bozacağımıza benziyorlardı. Mükerrer postaya gelince mümkünse ffmpeg'den uzaklaşmaya çalışıyorum ve keskin ffmpeg çalışmış gibi görünmüyor ya da artık destekleniyordu. –