0

我们正在为视频服务器使用 RMTP,但是我们必须为每个视频创建一个 SMIL(同步多媒体集成语言)文件。如果您有 1 个视频,没问题,但是我们有超过 2000 个视频。

下面你可以看到一个完美的 SMIL 文件。这个保存为 video-test.smil

<smil>
<head>
<meta base="rtmp://xxx.cloudfront.net:1935/cfx/st/" />
</head>
<body>
<switch>
<video src="video-streaming/video-test-720.mp4" height="720" system-bitrate="2000000" width="1280" />
<video src="video-streaming/video-test-360.mp4" height="360" system-bitrate="800000" width="640" />
<video src="video-streaming/video-test-180.mp4" height="180" system-bitrate="300000" width="320"/>
</switch>
</body>
</smil>

我的想法是制作一个批处理脚本来执行以下操作:

  1. 读取文件夹并仅使用具有 .MP4 扩展名的文件名创建数组
  2. 取第一个数组并用第一个数组中的名称替换“video-test”
  3. 在文件夹中使用 .smil 从数组的第一部分导出具有相同名称的文件
  4. 递增数组并重复

如果文件存在,特殊功能将是跳过。

问题:

这甚至可以用脚本来完成。有人可以帮忙吗。。

谢谢

4

1 回答 1

2
@ECHO OFF
SETLOCAL
SET targetdir=.
FOR /f %%i IN ('dir /b/a-d *.mp4') DO (
IF NOT EXIST %targetdir%\%%~ni.smil (
FOR /f "tokens=1*delims=#" %%s IN (smiltemplate.txt) DO (
SET subs=%%t
IF DEFINED subs (ECHO %%s%%~ni%%t) ELSE (ECHO %%s)
)
) >%targetdir%\%%~ni.smil
)

将您完美的 smil 文件另存为smiltemplate.txt- 将字符串video-test替换为#

将目标目录更改为您要生成.smils 的位置,一切都完成了!

于 2013-03-15T21:08:34.570 回答