【发布时间】:2019-02-13 01:49:02
【问题描述】:
我正在尝试合并来自 Internet 的两个文件,并将输出保存在我的计算机上。我有下面的代码,但没有做我尝试的事情,我总是得到相同的结果。我得到了第一个 URL,仅此而已。 确切地说,我正在尝试将 VideoURL 和 videoURL1 合并到一个名为 output.mp4 的文件中......
videoURL= 'http://file-examples.com/wp-content/uploads/2017/04/file_example_MP4_480_1_5MG.mp4'
videoURL1 = 'http://techslides.com/demos/sample-videos/small.mp4'
# print(str(embeddHTMLString).find('sources: ['))
local_filename = videoURL.split('/')[-1]
# NOTE the stream=True parameter
response = urlopen(videoURL)
response1 = urlopen(videoURL1)
with open(local_filename, 'wb') as f:
while True:
chunk = response.read(1024)
if not chunk:
break
f.write(chunk)
with open(local_filename, 'ab+') as d:
while True:
chunk1 = response1.read(1024)
if not chunk1:
break
d.write(chunk1)
【问题讨论】:
-
正确的做法是将2个mp4文件下载到本地,然后concat成一个mp4文件。您不能将它们与附加“组合”。
-
所以你说没有办法获取文件,然后将它们变成块,然后将它们以字节为单位添加到一个文件中?我很难相信……我可能是出于无知,不知道字节块是如何工作的……
-
问题不在于块和字节如何工作。媒体文件包含格式头和元数据,将 2 个媒体文件合并为 1 意味着您需要重写新的元数据和格式头,并删除旧的。您将需要 ffmpeg / mp4box 的帮助来为您完成这项工作。
-
哦,我,谢谢你,我会将此标记为答案!
标签: python-3.x io python-requests