Ortam işleme

Ortam formatı seçme

Hem Ana hem de Bağımlı Kanal aldıkları veya gönderdikleri medya dosyalarını dönüştürmede görev alabilirler. Eğer uzaktan sunucudan alınan medya alışılmış formatta değilse, ulaştırmadan önce dönüştür; eğer uzaktan sunucuya gönderilen medyanın spesifik bir formatta olması gerekiyorsa; gönderilmeden önce dönüştürülmeli. Yine de, bu, medya işleme hakkında kanalların sorumluluğunu ele alan tek kılavuzdur, ve herkesin ortak formatın / kodlamanın ne olduğu hakkında kendi fikri vardır. Bu nedenle biz bu davranımı sadece öneriyoruz, bizim kodlarımızı kullanmanız için sizi zorlamıyoruz. Başka bir deyişle, yine de gösterim metodunuzun yerini tuttuğu kabul edilmiş medya kodlaması tipini dikkate almalısınız ve eğer gerekiyorsa gösterim türünüzü farklı bir türe çevirmeli ve/veya geri çekmelisiniz. Sonuç olarak, bilginin aktarımı daha önemlidir.

Ortam kodlayıcılar

Benzer şekilde, bunun için de katı bir sınır koymayacağız, sadece bir öneri. Zaten bildiğiniz gibi, saf Python medya işleme kütüphaneleri azdır, bunların çoğu dahili veya harici ikili bağımlılık gerektirir.

Yapabildiğimiz kadar farklı birkaç belgeliği kullanmayı amaçlamayı deniyoruz, çünkü yüklenecek daha çok belgelik demek, daha çok alan, yükleme zamanı ve karışıklık demektir. Medya dosyalarını işlerken, eğer mümkünse aşağıdaki belgelikleri kullanmanızı öneriyoruz:

Mesajlardaki dosyalar

When a file sent out from a channel, it MUST be open, and sought back to 0 ( file.seek(0) ) before sending.

Files sent MUST be able to be located somewhere in the file system, and SHOULD with a appropriate extension name, but not required. All files MUST also have its MIME type specified in the message object. If the channel is not sure about the correct MIME type, it can try to guess with libmagic, or fallback to application/octet-stream. Always try the best to provide the most suitable MIME type when sending.

Bu gibi dosyalar için, biz ömrünün sonunu göstermek için “kapat” kelimesini kullandık. Eğer dosya artık gönderenin kanalı tarafından gerekli değilse, güvenli bir şekilde atılabilir.

Genel olarak, tempfile.NamedTemporaryFile olağan durumlar için çalışmalıdır.