- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对此很陌生,并且遇到了困难:
这是我的文件结构:
.\input\
.\output\
convert.bat
.\input\
包含子文件夹,这些子文件夹又包含 .wav
和其他音频格式。我试图让 convert.bat
将这些子文件夹中的所有文件转换为 .\output\
中的 .mp3
。此外,我需要将转换后的文件命名为它源自的子文件夹的名称+它的原始文件名。
如何使用 FFMPEG 通过批处理文件执行此操作?非常感谢!
最佳答案
让我们假设包含批处理文件的文件夹 C:\Temp
具有以下文件夹结构和文件:
批处理文件Convert.bat
包含以下行:
@echo off
setlocal EnableDelayedExpansion
rem Input and output folder are in same directory as batch file.
set "InputFolder=%~dp0input"
set "OutputFolder=%~dp0output"
echo Input folder is: %InputFolder%
echo Output folder is: %OutputFolder%
echo/
rem Search in input folder and all subfolders for the specified types
rem of audio files and output what is found with the output file name
rem in output folder. Delayed environment variable expansion is needed
rem for all variables set or modified within the body of the FOR loop.
for /R "%InputFolder%" %%I in (*.aac *.ac3 *.wav) do (
set "InputFileName=%%~nxI"
set "InputFilePath=%%~dpI"
set "OutputFileName=!InputFilePath:~0,-1!"
call :GetOutputFileName "!OutputFileName!" "%%~nI"
echo Input file name is: !InputFileName!
echo Input file path is: !InputFilePath!
echo Output file name is: !OutputFileName!
echo Output file path is: %OutputFolder%\
echo --------
)
endlocal
echo/
pause
rem Exit batch processing and return to command process.
exit /B
rem Subroutine to get last folder name from first argument and append an
rem underscore, the file name of the input file without file extension
rem passed as second argument and the file extension MP3. But if the path
rem to the file is identical with input folder path, get just name of file
rem with different file extension.
:GetOutputFileName
if "%~1" == "%InputFolder%" (
set "OutputFileName=%~2.mp3"
) else (
set "OutputFileName=%~nx1_%~2.mp3"
)
rem Exit subroutine.
exit /B
执行此批处理文件会产生输出:
Input folder is: C:\Temp\input
Output folder is: C:\Temp\output
Input file name is: Another.ac3
Input file path is: C:\Temp\input\
Output file name is: Another.mp3
Output file path is: C:\Temp\output\
--------
Input file name is: SecondFile.aac
Input file path is: C:\Temp\input\My Folder\
Output file name is: My Folder_SecondFile.mp3
Output file path is: C:\Temp\output\
--------
Input file name is: First File.wav
Input file path is: C:\Temp\input\Folder.01\
Output file name is: Folder.01_First File.mp3
Output file path is: C:\Temp\output\
--------
因此您可以了解如何从输入文件名获取所需的输出文件名。添加运行 ffmpeg.exe
的行,并使用适当的参数将找到的音频文件转换为输出目录中的 MP3 文件。不要忘记输入和输出文件规范周围的双引号。
为了了解所使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并仔细阅读每个命令显示的所有帮助页面。
调用/?
回显/?
endlocal/?
退出/?
对于/?
如果/?
暂停/?
雷姆/?
设置/?
setlocal/?
关于batch-file - ffmpeg:批量转换子文件夹中的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36121091/
我正在尝试使用 ldash 等选项和 http_opts ,正如 dash muxer 文档所描述的,但 FFmpeg 无法识别它们。我正在使用最新发布的 ffmpeg v4.2.2 版本。我在 ff
假设我们有许多想要与 -vcodec 副本(或等效语法)合并的视频记录。无需重新编码,不会损失质量。并且很少有记录(minor set),有另外的编解码器,参数等等。所以我们可以使用 ffprobe
有没有办法安装 ffmpeg 没有root访问权限?使用 ./configure 无法做到这一点来自 git 克隆 git://source.FFmpeg.org/fFFmpeg.git 最佳答案 是
在应用程序中直接使用 FFmpeg 与使用 Ffmpeg 命令行有什么区别? 最佳答案 没有:FFmpeg 命令行只是一个使用 FFmpeg API 的应用程序。当然,在使用该应用程序时,您仅限于已实
我正在使用以下命令对文件(下面的媒体信息)进行编码: ffmpeg -i AHomeMovie.mkv -map 0 -c copy -c:v libx264 -preset veryslow -cr
我正在制作一张圣诞贺卡,我需要将视频嵌入到右侧(边框内)的卡片中,并在左侧显示一些文本。 为简单起见,假设我有一个带有透明孔的盒子。我想在那个洞里显示视频。 我正在使用 ffmpeg-python很高
我正在使用 laravel ffmpeg 为视频创建缩略图,但是当我运行代码时,它返回给我 Call to undefined method FFMpeg\FFMpeg::fromDisk() 我不知
我为我的 nvidia 下载了 cuda 驱动程序 但它仍然不使用我的 GPU,它仍然使用 cpu。 我怎样才能让它使用GPU。 我也听说过硬件加速,但那不起作用。 它必须是 h.264 最佳答案 你
尝试剪切视频的多个部分时,我遵循此问题的解决方案 Cut multiple parts of a video with ffmpeg .但问题是,如果我剪切多次(比如大约 20 次或更多),视频和音频
所以我最近开始在我打算在商业上分发的应用程序中实现 ffmpeg。而且我很难理解整个许可过程。 我见过的最常回答的问题似乎是关于 x264,它需要 x264.org 的付费许可才能在商业上使用它(对吗
我使用 ffmpeg 更改视频文件的分辨率,转换到另一个位置后,视频持续 0 秒,但最初持续 2 分钟 我的ffmepg代码: ffmpeg -i input.mp4 -filter:v scale=
如上: FFMPEG 不支持在没有第三部分库的情况下加载外部过滤器是否有特定原因? (像弗莱0r) 我必须重新编译整个包来添加一个新的过滤器! 最佳答案 只有开发人员可以肯定地回答,但我会冒安全风险和
我收到了一个编码器,我需要用 FFMPEG 编译,我是新手,所以我不知道如何用 ffmpeg 添加/编译它。编码器是JSV,我的服务器是ubuntu 14.04。 我已经开始阅读这篇 https://
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我正在制作一个利用 ffmpeg 重新混合和转码视频文件的程序。我想使用 ffmpeg -codecs和 ffmpeg -formats (或通过 ffmpeg 可用的任何其他命令)来检查我可以在哪些
这个问题在这里已经有了答案: ffmpeg moving text drawtext (1 个回答) 3年前关闭。 我正在使用此命令使用 ffmpeg 将文本从一个地方移动到另一个地方 ffmpeg
为什么 ffmpeg/ffprobe 为流和整个文件提供不同的比特率值? 当我使用 ffprobe 分析 mp3 文件时,它会在第一行和第二行给出不同的比特率。 有谁知道,有什么区别? // File
如何在ffmpeg中使用drawtext在视频上绘制多色文本? 示例:我想突出句子中的专有名词, “XYZ公司股价上涨91%” 高亮 XYZ 白色 黄色 用绿色突出显示 91% 如果您有任何其他方法不
我想让我的不和谐机器人播放音乐,但我不断收到“找不到 FFMPEG”错误。 我的机器人主要是由 ping 制成的,所以我不会上传那部分。音乐代码应该是这个。 const Discord = requi
我需要帮助在 ffmpeg drawtext 过滤器中正确/(完全)显示德语变音符号“äüö”。我现在不能说我的无能是由于缺乏 ffmpeg 专业知识或机器配置,还是两者兼而有之。非常感谢您的意见。
我是一名优秀的程序员,十分优秀!