2013-10-12 44 views
2

我有以下批處理腳本,多數民衆贊成從另一個使用爲什麼第二個電話不能批量工作?

cmd /c 1getthumbs @file > log.txt 

內容1getthumbs稱爲是:

set initFile=%1 
echo.%initFile% 
set out=%initFile:.mts=-a.jpg% 
rem echo.%out% 

ffmpeg32 -ss 00:00:30 -i "C:\Users\s\Desktop\social\\%1" -frames:v 1 
"C:\Users\s\Desktop\social\thumbs\\%out%" 

set out=%initFile:.mts=-b.jpg% 
echo.%out% 

ffmpeg32 -ss 00:01:00 -i "C:\Users\s\Desktop\social\\%1" -frames:v 1 
"C:\Users\s\Desktop\social\thumbs\%out%" 

下執行第一ffmpeg32而不是第二ffmpeg32 任何想法,爲什麼?

更新與log.txt的內容時,我測試了:

C:\Program Files\ffmpeg>set initFile="00178.MTS" 

C:\Program Files\ffmpeg>echo."00178.MTS" 
"00178.MTS" 

C:\Program Files\ffmpeg>set out="00178-a.jpg" 

C:\Program Files\ffmpeg>rem echo."00178-a.jpg" 

C:\Program Files\ffmpeg>ffmpeg32 -ss 00:00:30 -i "C:\Users\s\Desktop\social\\"00178.MTS"" -frames:v 1 "C:\Users\s\Desktop\social\thumbs\\"00178-a.jpg"" 

這裏是輸出,當我執行它調用1getthumbs.bat

C:\Program Files\ffmpeg>cmd /c 1getthumbs "00178.MTS" > log.txt 
ffmpeg version N-52045-g694fa00 Copyright (c) 2000-2013 the FFmpeg developers 
    built on Apr 12 2013 16:54:51 with gcc 4.8.0 (GCC) 
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av 
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab 
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp 
e --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrn 
b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libr 
tmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo 
ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li 
bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena 
ble-zlib 
    libavutil  52. 26.100/52. 26.100 
    libavcodec  55. 2.100/55. 2.100 
    libavformat 55. 2.100/55. 2.100 
    libavdevice 55. 0.100/55. 0.100 
    libavfilter  3. 53.101/3. 53.101 
    libswscale  2. 2.100/2. 2.100 
    libswresample 0. 17.102/0. 17.102 
    libpostproc 52. 3.100/52. 3.100 
Input #0, mpegts, from 'C:\Users\s\Desktop\social\00178.MTS': 
    Duration: 00:00:02.51, start: 1.000011, bitrate: 24725 kb/s 
    Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDPR/0x52504448), yuv420p, 1920x1 
080 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc 
    Stream #0:1[0x1100]: Audio: ac3 (AC-3/0x332D4341), 48000 Hz, stereo, fltp, 
256 kb/s 
    Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0]/0x0090) 
Output #0, image2, to 'C:\Users\s\Desktop\social\thumbs\00178-a.jpg': 
    Metadata: 
    encoder   : Lavf55.2.100 
    Stream #0:0: Video: mjpeg, yuvj420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2 
00 kb/s, 90k tbn, 59.94 tbc 
Stream mapping: 
    Stream #0:0 -> #0:0 (h264 -> mjpeg) 
Press [q] to stop, [?] for help 
[h264 @ 03598580] Missing reference picture, default is 0 
[h264 @ 03598580] decode_slice_header error 
[h264 @ 03598580] Missing reference picture, default is 0 
[h264 @ 03598580] decode_slice_header error 
[h264 @ 03598580] Missing reference picture, default is 0 
[h264 @ 03598580] decode_slice_header error 
[h264 @ 03598580] Missing reference picture, default is 0 
[h264 @ 03598580] decode_slice_header error 
frame= 0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A 
video:0kB audio:0kB subtitle:0 global headers:0kB muxing overhead -inf% 
Output file is empty, nothing was encoded (check -ss/-t/-frames parameters i 
f used) 
+0

是,實際的代碼?以''c:\ users'開頭的兩行應該在上面的行末,你在'log.txt'文件中看到了什麼? – foxidrive

回答

0

試試這個批處理文件:它可以解決一些引用和斜線問題。
如果ffmpeg32是一個批處理文件,那麼你將需要使用call ffmpeg32

set "initFile=%~1" 
echo."%initFile%" 
set "out=%initFile:.mts=-a.jpg%" 
rem echo."%out%" 

ffmpeg32 -ss 00:00:30 -i "C:\Users\s\Desktop\social\%initFile%" -frames:v 1 "C:\Users\s\Desktop\social\thumbs\%out%" 

set "out=%initFile:.mts=-b.jpg%" 
echo."%out%" 

ffmpeg32 -ss 00:01:00 -i "C:\Users\s\Desktop\social\%initFile%" -frames:v 1 "C:\Users\s\Desktop\social\thumbs\%out%" 
+0

我嘗試了上面的建議,它似乎執行第二個調用我還在嘗試不同的選項 – phill

+0

你是否稱過這個批處理文件爲「ffmpeg32.bat」?這與日誌輸出不匹配,但請確保您不要將它稱爲可執行文件名稱。 ffmpeg32 - 是一個'.exe'文件嗎? – foxidrive

+0

增加了調用似乎修復它! – phill

相關問題