标题: [文件操作] [已解决]批处理ffmpeg单视频根据音频时长拼接的问题 [打印本页]
作者: 877 时间: 2024-3-27 11:49 标题: [已解决]批处理ffmpeg单视频根据音频时长拼接的问题
本帖最后由 877 于 2024-3-27 19:04 编辑
当前目录内只有1个mp4视频和1个wav配音,
想将视频复制拼接成超过wav配音时长5秒的视频!
单一mp4视频时长短,想将这个视频复制拼接超过wav时长~
搞了两天了搞不定~求大神指点!谢谢~- @echo off
- setlocal enabledelayedexpansion
-
- REM 获取wav配音时长
- for %%I in (*.wav) do (
- for /f %%A in ('ffprobe -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "%%I"') do (
- set "wav_duration=%%A"
- )
- )
-
- REM 获取视频时长
- for %%J in (*.mp4) do (
- for /f %%B in ('ffprobe -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "%%J"') do (
- set "video_duration=%%B"
- )
- )
-
- REM 计算需要拼接的视频时长
- set /a target_duration=wav_duration+5
-
- REM 复制并拼接视频
- for %%K in (*.mp4) do (
- ffmpeg -i "concat:%%K|%%K" -c copy -t !target_duration! output1.mp4
- )
-
- endlocal
复制代码
作者: 77七 时间: 2024-3-27 12:00
尽量取一个合适的标题标题违规以语意模糊、不利于论坛搜索为常见,常见的形式有:
(1) 万能标题类:关于××、××的问题、求助、求一个代码、这样的代码怎么
写……
(2) 催命类:十万火急、在线等、跪求、雪地裸体跪求……
(3) 指名求助类:高手请进、版主请进、××请进……
(4) 博取同情类:菜鸟求助、新手请教、帮帮小妹……
批处理之家论坛发帖规则[2009.3.6更新]
作者: 877 时间: 2024-3-27 12:07
回复 2# 77七
好的,已经修正标题。
求助77七大佬~谢谢您~
作者: 77七 时间: 2024-3-27 13:51
- @echo off
- cd /d "%~dp0"
- for %%a in (wav mp4) do (
- for %%i in (*.%%a) do (
- for /f "delims=" %%j in ('ffprobe -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "%%i"') do (
- if not defined target_duration (
- for /f "delims=" %%k in ('powershell -c "%%j+5"') do (
- set target_duration=%%k
- )
- ) else (
- set video_duration=%%j
- )
- )
- )
- )
- for /f "tokens=1 delims=." %%a in ('powershell -c "%target_duration% / %video_duration% + 1"') do (
- for %%b in (*.mp4) do (
- (for /l %%l in (1,1,%%a) do (
- echo file '%%~fb'
- ))>x.txt
- )
- )
- ffmpeg -f concat -safe 0 -i x.txt -t %target_duration% -c copy output1.mp4
- del x.txt
- pause
复制代码
作者: 877 时间: 2024-3-27 16:58
回复 4# 77七
大佬好,运行代码后并没有将这单一mp4视频合并为新的视频
x.txt里面内容为:
file 'C:\测试\output.mp4'
file 'C:\测试\output.mp4'
file 'C:\测试\output.mp4'
file 'C:\测试\output.mp4'
file 'C:\测试\output.mp4'
file 'C:\测试\output.mp4'
file 'C:\测试\output.mp4'
作者: 77七 时间: 2024-3-27 17:17
回复 5# 877
我这里测试成功,请提供一个测试失败的样本(wav、mp4文件、批处理文件)
作者: 877 时间: 2024-3-27 17:55
回复 6# 77七
链接:https://pan.baidu.com/s/1_2zTOCzT8ieKnx3XVylqKw?pwd=a123
提取码:a123
作者: 877 时间: 2024-3-27 17:58
回复 6# 77七
批处理文件就是您的代码,运行之后出现这个,没有拼接视频~- ffmpeg version 6.0-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
- built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
- configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
- libavutil 58. 2.100 / 58. 2.100
- libavcodec 60. 3.100 / 60. 3.100
- libavformat 60. 3.100 / 60. 3.100
- libavdevice 60. 1.100 / 60. 1.100
- libavfilter 9. 3.100 / 9. 3.100
- libswscale 7. 1.100 / 7. 1.100
- libswresample 4. 10.100 / 4. 10.100
- libpostproc 57. 1.100 / 57. 1.100
- 请按任意键继续. . .
复制代码
作者: 77七 时间: 2024-3-27 18:45
回复 8# 877
我试了,正常,如果没有把批处理代码与其它代码一起使用,换个ffmpeg版本试试。
作者: 877 时间: 2024-3-27 19:03
回复 9# 77七
换了个版本可以了,一语点醒梦中人!感谢大佬!
作者: 877 时间: 2024-3-27 21:32
回复 9# 77七
大佬,在中文路径下运行时,加上chcp 65001 > nul之后可以正常运行~
但是后面我还想继续运行其他代码。请问如何结束chcp 65001 > nul
作者: 77七 时间: 2024-3-27 22:28
回复 11# 877
这个不好中途切换
4楼代码保存为ansi编码格式执行遇到什么问题了吗?
作者: 877 时间: 2024-3-27 22:57
回复 12# 77七
没事了大佬,谢谢您~
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |