擅长:python、mysql、java
<p><strong>编辑:</strong>也许<code>GridOut</code>不是python<a href="https://docs.python.org/2/library/stdtypes.html#bltin-file-objects" rel="nofollow">file objects</a>的正确实现。我的最后一个建议是尝试使用带有<a href="https://docs.python.org/2/library/stringio.html" rel="nofollow">StringIO</a>的内存文件。在</p>
<pre><code>import StringIO
FFMPEG_BIN = "ffmpeg.exe"
some_fs = gridfs.GridFS(db, "some.col")
vid_id = ObjectId("5339e3b5b322631b544b2338")
vid_file = some_fs.get(vid_id)
# Should be a proper file-like object
infile = StringIO.StringIO(vid_file.read())
pipe = sp.Popen([FFMPEG_BIN,
# "-v", "quiet",
"-y",
"-i", "-",
"-vcodec", "copy", "-acodec", "copy",
"-ss", "00:00:00", "-t", "00:00:10", "-sn",
"test.mp4" ]
,stdin=infile, stdout=sp.PIPE
)
pipe.wait()
...
infile.close()
</code></pre>