【发布时间】:2020-11-21 04:43:51
【问题描述】:
我正在尝试创建一个 python 脚本,它将音频和视频文件合并到一个(音频+视频)文件中。
我正在使用 ffmpeg 来实现这一点,但它无法正常工作,并且出现错误。 运行此脚本时,这里是我的脚本。
import os
import subprocess
import time
from datetime import datetime
def merge_all():
global p
p =subprocess.Popen('ffmpeg -i temp_vid.mp4 -i temp_voice.wav -c:v copy -c:a aac -strict experimental -
strftime 1 ' + dt_file_name ,stdin=subprocess.PIPE,creationflags = subprocess.CREATE_NO_WINDOW)
time.sleep(2)
print('merging done')
os.remove('temp_vid.mp4')
os.remove('temp_voice.wav')
print('file delete done')>
这是错误
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\kp\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:\Users\kp\Desktop\test.py", line 179, in change_icon
merge_all()
File "C:\Users\kp\Desktop\test.py", line 104, in merge_all
p =subprocess.Popen('ffmpeg -i temp_vid.mp4 -i temp_voice.wav -c:v copy -c:a aac -strict experimental -strftime 1 ' + dt_file_name ,stdin=subprocess.PIPE,creationflags = subprocess.CREATE_NO_WINDOW)
File "C:\Users\kp\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\kp\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
【问题讨论】:
-
将命令拆分为空格并将结果列表而不是整个命令作为字符串传递。
-
@Grismar 您可以编辑此代码并在答案部分显示吗?
标签: python ffmpeg subprocess audio-video-sync