2014-10-09 58 views
1

这里总共有初学者,可能需要寻求帮助(希望)很容易实现。使用批处理过程通过ffmpeg一次一个地编码多个文件

我有一个放置文件夹设置为触发一个批处理过程,它将使用FFMPEG将其中包含的任何视频编码为5种不同的格式。它还创建了一个文本文件,其中包含文件名,然后我将其用于单独的php/api过程将视频上传到互联网。

只有将一个视频放入放置文件夹时,该过程才能正常工作。但是,只要有两个或更多的话,这个过程就会变得不稳定。

这里的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个或多个文件,即得到由回声产生可能是文件的文件名,而转码会话可能用于文件B.

理想情况下,我希望整个过程完成对第一个视频的转码 - 包括为每种格式生成文本文件 - 然后返回到下一个视频的开始流程在放置文件夹中。

我该如何做到这一点?任何建议将不胜感激。

谢谢!

汤姆

回答

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 
) 
相关问题