2013-03-15 64 views
0

我們正在爲我們的視頻服務器使用RMTP,但是我們必須爲每個視頻創建一個SMIL(同步多媒體集成語言)文件。如果你有1個視頻,沒問題,但是我們有超過2000個。批處理腳本 - 導出帶有infomraiton的文本文件

您可以在下面看到一個完美的SMIL文件。這一個被保存爲視頻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. 以第一陣列和從第一陣列
  3. 導出與從與.smil陣列的第一部分中的相同名稱的文件夾
  4. Incremment陣列和再在文件替換「視頻測試」與名字泥炭

如果文件存在,特殊功能將跳過。

問題:

這甚至可以用SCRIPT來完成。有人可以幫助..

感謝

回答

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目標目錄要生成.smil S和一切都完成了!

+0

聖靈的廢話。我現在會測試!!!!! – Arthor 2013-03-15 21:11:07

+0

STROKE天才.... !!!!我可以把BAT文件放在另外一個目錄中嗎...謝謝 – Arthor 2013-03-15 21:27:10

+0

個人而言,我將所有的批處理文件保存在一個名爲'BATCH'的目錄中 - 儘管其他人更喜歡'BELFRY'。然後,您需要將目錄添加到'PATH' - 'Settings> Control Panel> Advanced System Settings> Environment Variables按鈕'更改PATH以包含您選擇的目錄 - 這是一個以分號分隔的列表。然後你可以從任何地方運行批處理(需要重新啓動)。你需要在'* .mp4'之前包含MP4的目錄路徑,比如'c:\ wherever \ *。mp4' - 對於'smiltemplate.txt'也是如此 - 但我傾向於將'我自己在BATCH目錄下的smiltemplate.txt。 – Magoo 2013-03-15 21:35:17