ffmpeg合并音视频的问题
本帖最后由 kognzhezhi 于 2023-11-9 09:06 编辑下载了很多视频和音频,想把它们合起来,网上找了一些代码,之前可以使用的,最近不能用了,代码在下面
path_1 = f'g:/audio_temp/{i}.m4s'
# print(path_1)
path_2 = f'g:/video_temp/{i}.m4s'
resultpath = f'g:/video/{i}.mp4'
audio=ffmpeg.input(path_1)
video=ffmpeg.input(path_2)
# print(video)
print("合并视 音频")
out=ffmpeg.output(video,audio,resultpath)
# print(out)
out.run()
代码显示的问题是 ffmpeg.input input下面有下划线,显示--init--.py没有引用‘input’ 然后按照提示 在init里面定义了函数 也不行。
我直接用第三方工具,不会写代码 import ffmpeg chengwangbaikou 发表于 2023-11-9 09:40
import ffmpeg
引入了的 你应该是使用了线程吧?请把完整的代码展示一下。 wapjsx 发表于 2023-11-9 10:12
你应该是使用了线程吧?请把完整的代码展示一下。
没使用线程 把 out.run() 改为 ffmpeg.run(output) 我一般都是直接ffmpeg.exe 然后用命令行来合并的 我不知道你用的是什么python库 直接把ffmpeg给整合了 netspirit 发表于 2023-11-9 13:42
我一般都是直接ffmpeg.exe 然后用命令行来合并的 我不知道你用的是什么python库 直接把ffmpeg给整合了
我以前用的是moviepy ,后来觉得不好用,就上网搜到了这个ffmpeg 这软件,也忘记了从哪里找的代码了,但是这些代码可以合并音视频的。后来过来好久再去运行以前代码的时候出现了上面这些错误,有一些不理解 假设 C:\Test\Video\audio_temp 文件夹下有多个音频文件,例如:
A.mp3
B!C.mp3
假设 C:\Test\Video\video_temp 文件夹下有多个视频文件,例如:
A.mp4
B!C.mp4
两个文件夹里的文件名相同且一一对应,只有后缀名不同。
执行下面的脚本 Merge.bat 可以把音视频文件逐一合并。
合并之后的结果放在 C:\Test\Video\video_merge 文件夹。
@echo off
REM 1、下载命令行工具 FFmpeg 例如:ffmpeg-n6.0-latest-win64-gpl-6.0.zip
REM https://github.com/BtbN/FFmpeg-Builds/releases
REM 2、解压缩之后把 ffmpeg.exe 和此脚本放在同一个文件夹下
set "FolderAudio=C:\Test\Video\audio_temp"
set "FolderVideo=C:\Test\Video\video_temp"
set "FolderOutput=C:\Test\Video\video_merge"
for %%i in ("%FolderAudio%\*.mp3") do (
set "InputA=%%i"
if exist "%FolderVideo%\%%~ni.mp4" (
set "InputV=%%~ni.mp4"
set "FileOutput=%%~ni.mp4"
setlocal enabledelayedexpansion
ffmpeg.exe -i "!InputA!" -i "%FolderVideo%\!InputV!" -filter_complex "amerge=inputs=2" -map "" "%FolderOutput%\!FileOutput!"
endlocal
)
)
页:
[1]
2