这里的初学者,很可能在某些事情上寻求帮助(希望)很容易实现。
我设置了一个drop文件夹来触发批处理过程,该过程将使用FFMPEG将其中包含的任何视频编码为5种不同的格式。它还会创建一个包含文件名的文本文件,然后我会在单独的php / api进程中将视频上传到互联网。
当只有一个视频被放入drop文件夹时,该过程非常有效。但是,只要有两个或更多,那么该过程就会失效。
以下是批处理文件运行的其中一个ffmpeg脚本的示例:
for %%a in ("C:\live\dropfolder\transcode\*.*") do ffmpeg\ffmpeg -i "%%a" (encoding settings) "C:\live\dropfolder\output\%%~na.mp4"
pause
for %%g in (C:\live\dropfolder\output\*.mp4) do echo %%~nxg > C:\live\dropfolder\filename\filename_format.txt
因此,当有2个或更多文件时,该回显生成的文件名可能是文件A,而转码会话可能是文件B.
理想情况下,我希望整个过程完成第一个视频的转码 - 包括为每种格式生成文本文件 - 然后返回到drop文件夹中下一个视频的流程开始。
我如何实现这一目标?任何建议都将不胜感激。
谢谢!
汤姆
答案 0 :(得分:0)
尝试这一点,不确定它是否真的是你所追求的......
if exist C:\live\dropfolder\filename\filename_format.txt del C:\live\dropfolder\filename\filename_format.txt
for %%a in ("C:\live\dropfolder\transcode\*.*") do (
ffmpeg\ffmpeg -i "%%a" (encoding settings) "C:\live\dropfolder\output\%%~na.mp4"
echo %%~na.mp4 >> C:\live\dropfolder\filename\filename_format.txt
)