kognzhezhi 发表于 2023-11-9 09:02

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里面定义了函数 也不行。

jtq1234 发表于 2023-11-9 09:40

我直接用第三方工具,不会写代码

chengwangbaikou 发表于 2023-11-9 09:40

import ffmpeg

kognzhezhi 发表于 2023-11-9 09:50

chengwangbaikou 发表于 2023-11-9 09:40
import ffmpeg

引入了的

wapjsx 发表于 2023-11-9 10:12

你应该是使用了线程吧?请把完整的代码展示一下。

kognzhezhi 发表于 2023-11-9 10:55

wapjsx 发表于 2023-11-9 10:12
你应该是使用了线程吧?请把完整的代码展示一下。

没使用线程

vigiles 发表于 2023-11-9 12:01

把 out.run() 改为 ffmpeg.run(output)

netspirit 发表于 2023-11-9 13:42

我一般都是直接ffmpeg.exe 然后用命令行来合并的 我不知道你用的是什么python库 直接把ffmpeg给整合了

kognzhezhi 发表于 2023-11-9 13:57

netspirit 发表于 2023-11-9 13:42
我一般都是直接ffmpeg.exe 然后用命令行来合并的 我不知道你用的是什么python库 直接把ffmpeg给整合了

我以前用的是moviepy ,后来觉得不好用,就上网搜到了这个ffmpeg 这软件,也忘记了从哪里找的代码了,但是这些代码可以合并音视频的。后来过来好久再去运行以前代码的时候出现了上面这些错误,有一些不理解

Batcher 发表于 2023-11-12 12:00

假设 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
查看完整版本: ffmpeg合并音视频的问题