我正在尝试将远程WebM文件即时转换为MP4格式,且不需要将任何内容写入磁盘。此外,最好能够尽快流式传输结果。
这是我的Flask函数,没有实际的转换操作,所以您可以了解一下流式传输的情况。
@app.route("/stream/mp4")
def as_mp4():
url = "http://video.webmfiles.org/big-buck-bunny_trailer.webm"
r = requests.get(url, stream=True)
def stream():
# convert it here
for chunk in r.iter_content(chunk_size=1024):
yield chunk
# end for
# end def
return Response(stream(), mimetype="video/mp4")
# end def
ffmpeg
直接从 URL 读取并写入标准输出,但由于 MP4 格式需要可寻址的输出,因此可能会遇到问题。它应该可以使用 Matroska(MKV)格式。 - mhawke