2

Python コードは次のとおりです。

import subprocess 

cmnd = ["ffmpeg", "-i", "/home/xincoz/test/connect.flv", "-acodec", "copy", "-ss", "00:00:00", "-t", "00:00:30", "/home/xincoz/test/output.flv"]

subprocess.call(cmnd)

ここでは、connect.flv ビデオから 30 秒の長いビデオ出力ファイル output.flv を取得します。しかし、出力ファイルにコピーする代わりに、その 30 秒の長いバイナリ データを変数に格納したいと考えています。どうすればそれができますか?

私を助けてください。よろしくお願いします。

4

1 に答える 1

3

stdout に出力するように ffmpeg に指示し、出力形式かどうかも指示する必要があります。次に、Python から、@matino が言ったように、Popen を使用して stdout に書き込まれたものを読み取ります。

cmnd = ["ffmpeg", "-i", "/your/file.avi", "-acodec", "copy", "-ss", "00:00:00", "-t", "00:00:30", "-f", "avi", "pipe:1"]

p = subprocess.Popen(cmnd, stdout=subprocess.PIPE)

out, err = p.communicate()

print len(out) # print the length of the data received
于 2013-06-25T10:03:02.240 に答える