2016-04-02 15 views
0

Biraz yönlendirmeye ihtiyacım var. Kullanıcıların fotoğraf ve altyazıları yüklediği bir Django uygulamasına sahibim.Sunucuya yüklenmeden önce video dosyaları için kayıpsız sıkıştırma (Django web uygulaması)

Video yükleme ve oynatmayı da entegre etmek istiyorum. Benim sorum özellikle video dosyası boyutu etrafında döner.

Kullanıcıların çoğu bant genişliği sorunları var. Yüklenen videolar arası bir boyut kadar küçükse (kalite üzerinde olumsuzluk olabilir, bu kayıp olabilir) en iyisidir. Bana bu konuda başlatabilmek için şu anda desteklenen Python kütüphanesi nedir (açıklayıcı bir örnek)? Sitemde Python Imaging Library kullanarak yüklenen fotoğraflar için benzer bir şey yapıyorum. Şimdiye kadarki en yakın uyum gibi görünmektedir. Fakat artık desteklenmiyor gibi görünmüyor, ne elde etmeye çalıştığımın örneklerini de bulmuyorum. Bununla birlikte, ffmpeg belgelenmiş gibi görünüyor.

+0

Sadece doğrudan subprocess.call' 'yoluyla ffmpeg çağırır -

fazla bilgi için bu linke bakın ffmpeg ve ek sınırlamalar ve öğrenme eğrisi ekleyerek. – serg

cevap

1

Web sitemde ffmpeg ve subprocess kullanarak benzer bir görev yapıyorum. Bu 480p mp4 formatına sahip (tam yolu ile) dosyası 'output_video_mp4' içine (tam yolu ile) 'input_video' dönüştürmek için ffmpeg çağırır

subprocess.check_call(
      ['ffmpeg', '-v', '-8', '-i', input_video, '-vf', 'scale=-2:480', '-preset', 'slow', 
      '-c:v', 'libx264', '-strict', 'experimental', '-c:a', 'aac', '-crf', '20', '-maxrate', '500k', 
      '-bufsize', '500k', '-r', '25', '-f', 'mp4', output_video_mp4, '-y']) 

- Bunu yardımcı olabilir başladı almak için. Tüm bu sarıcı kütüphaneleri sadece çağrı proxy yapıyoruz, bu video sıkıştırma için fiili bir standarttır olarak https://ffmpeg.org/ffmpeg-all.html

+0

Oldukça iyi başlangıç! Bu konuda size geri döneyim ve teşekkürler :-) –

İlgili konular