Python - 类似ffmpeg的媒体寻求请求

时间:2017-01-08 03:01:46

标签: python video ffmpeg streaming python-requests

使用ffmpeg,可以使用ffmpeg -ss 00:01:00 -i https://example.com/video.mp4之类的命令非常快速地搜索HTTP媒体资源(例如视频)中的时间,可能是通过下载视频标头来查找正确的字节偏移量。这意味着在视频的一部分上运行操作非常快,即使是在几个小时内。

我希望能够做的是做同样的事情,但在请求模块中输入ffmpeg(如部分伪代码):

stream = requests.get(url, stream=True)
start_byte = get_byte_offset(stream, time=60)
stream.seek_to(start_byte)

process = subprocess.Popen(["ffmpeg", "-i" "pipe:" "out.mp4"], stdin=subprocess.PIPE)

for chunk in stream.iter_content(chunk_size=64 * 2 ** 10):
    process.stdin.write(chunk)
process.stdin.close()

这将允许我在流中实现额外的检查,我通常需要解析ffmpeg,例如,如果流返回错误的状态代码,如404或403。

我如何能够使用请求以及其他模块实现此功能?我想第一部分是使用工具来解析视频标题。

0 个答案:

没有答案