Procesamiento multimedia

Eligiendo formatos multimedia

Los canales maestros y esclavos pueden tomar turnos para convertir los archivos multimedia que envían y reciben. En general: ** Si un archivo proveniente de un servidor remoto no tiene un formato común conviértelo antes de enviarlo; Si un archivo multimedia enviado a un servidor remoto requiere un formato específico, debería ser convertido antes de enviar. Sin embargo, esto son solo lineamientos generales. Sobre las responsabilidades del canal respecto a el procesamiento multimedia todos tienen su propia opinión de cual es el formato/codificación común. Por lo tanto solo recomendamos este comportamiento, pero no lo forzamos en el código. Todo lo anterior es para decir que es necesario encargarte del tipo de codificación multimedia aceptado en el correspondiente método de presentación además de convertirlo a un tipo de presentación nuevo o devolverlo al tipo de presentación anterior de ser necesario. Después de todo la entrega de información es lo más importante.

Codificadores de los datos multimedia

De manera similar, nosotros tampoco colocamos un límite estricto en este aspecto, solo una recomendación. Como ya posiblemente sabías existen algunas librerias de procesamiento multimedia muy maduras en Python, la mayoría de ellas requerirán mayor o menor cantidad de dependencias externas.

Tratamos de apuntar al uso de la menor cantidad de librerías posibles, dado que una mayor cantidad significa mayor espacio, tiempo de instalación, y complejidad. Al procesar los archivos multimedia, recomendamos el uso de las siguientes librerias de ser posible:

Archivos en mensajes

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.

Para esos archivos, utilizamos close para señalar el final del ciclo de vida. Si el archivo ya no es requerido por el canal de envío, puede ser descartado de manera segura.

Generalmente, tempfile.NamedTemporaryFile debería funcionar para los casos convencionales.