从本地驱动器打开视频文件作为缓冲区并将其写入新文件

时间:2017-04-17 16:12:22

标签: python file video ffmpeg buffer

我有一个相同视频的多个损坏的视频文件我需要将它们作为一个视频再次加入,但是当我尝试这个时

import os
path = 'C:/temp/test'
files = os.listdir(path)
for file in files:
    mainFile = open('C:/temp/main.mp4','ab')
    with open(path+'/'+file,'rb') as read:
        print (read)
        mainFile.write(read)
mainFile.close()

它引发了错误说

TypeError: must be string or buffer, not file

所以我不知道如何制作视频文件缓冲区。我试着谷歌搜索它,我找到了一个名为ffmpeg的东西,但它是第三方应用程序。我只需要一个文件的缓冲区。

1 个答案:

答案 0 :(得分:1)

请注意,open()会返回file个对象,而不是文件的内容。发生此错误是因为file对象正在传递到write()

您可以调用read()对象的file方法来阅读并返回文件内容。

尝试

import os
path = 'C:/temp/test'
files = os.listdir(path)
for file in files:
    mainFile = open('C:/temp/main.mp4','ab')
    with open(path+'/'+file,'rb') as f:
        mainFile.write(f.read()) 
mainFile.close()