转换用户上传的视频文件&使用django,python服务它

时间:2011-01-24 04:20:08

标签: python django video ffmpeg video-encoding

我需要拍摄用户上传的任何视频文件,将其转换为flv或webM&然后将其显示给用户。在做了一些研究后,我得出的结论是我必须使用ffmpeg进行转换,但我不确定如何处理整个管道。即,

  1. 获取用户刚刚上传的文件。
  2. 在django后端以某种方式发送文件进行处理?
  3. 处理完成后,删除用户上传的原始文件&用转换后的文件替换它。
  4. 我只知道这些广泛的步骤,但是如何以简化的方式连接每一步?例如如何在python& amp;和CLI上从CLI启动对ffmpeg的系统调用继续等待转换过程完成。此外,如何更新数据库现在指向新转换的文件&删除旧的。如何告诉用户(实时)文件转换,转换等,如进度条?

    我知道这是一个总体问题,但对任何/所有位的帮助都会很棒!

1 个答案:

答案 0 :(得分:3)

如果转换需要很长时间,您可能需要考虑将它们传递给任务处理程序:

http://celeryproject.org/

可能只是事情。 python中的系统调用可以使用os模块中的函数完成,例如os.system:

>>> os.system("/bin/ls")
api-manual.pdf  C++  GUI  Java  README

或os.popen:

>>> f=os.popen("/bin/ls")
>>> f.read()
'api-manual.pdf\nC++\nGUI\nJava\nREADME\n'
>>> f.close()

在python文档中有一个关于进程间通信的部分。我很有信心。