Utiliser correctement subprocess.PIPE en python?

Je suis en train d'utiliser subprocess.Popen pour construire une séquence de saisir la durée d'un fichier vidéo. J'ai cherché pendant 3 jours, et ne peuvent pas trouver une raison quelconque en ligne pourquoi ce code ne fonctionne pas, mais il continue de me donner un vide résultat:

import sys
import os
import subprocess

def main():
  the_file = "/Volumes/Footage/Acura/MDX/2001/Crash Test/01 Acura MDX Front Crash.mov"
  ffmpeg = subprocess.Popen(['/opt/local/bin/ffmpeg', '-i', the_file], stdout = subprocess.PIPE, )
  grep = subprocess.Popen(['grep', 'Duration'], stdin = subprocess.PIPE, stdout = subprocess.PIPE, )
  cut = subprocess.Popen(['cut', '-d', ' ', '-f', '4'], stdin = subprocess.PIPE, stdout = subprocess.PIPE, )
  sed = subprocess.Popen(['sed', 's/,//'], stdin = subprocess.PIPE, stdout = subprocess.PIPE, )

  duration = sed.communicate()
  print duration

if __name__ == '__main__':
  main()

source d'informationauteur Gordon Fontenot | 2010-03-22