• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
               

            1CM

              

            利用FFmpeg+Mencoder完成自動剪輯合并批處理

                目前有很多視頻剪輯合并工具,其功能很強大.但是用起來很麻煩,一段一段需要手動處理.為了彌補這個弊端利用
            批處理文件完成全自動剪輯和合并的功能.效率灰常高哈哈 通過配置文件輸入剪輯時間使用起來更加方便
            __________________________________________________________
            Conversion_Batch.bat 從  _Periods.ini 中讀取剪輯信息和時間
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            setlocal enabledelayedexpansion
            echo @echo off>zCmd_tmp.bat
            set /a count=0
            rem Directory or file name contains an ! exclamation point problem
            for /f "eol=# delims=" %%i in (_Periods.ini) do (
                set /a count=!count!+1
            	if !count! EQU 1 (set ifn="%%i")
            	if !count! EQU 2 (set ofn=%%i)
            	if !count! EQU 3 (set extn=%%i
            		set mCmd=call Lib_Conversion !ifn! !ofn! !extn!)
            	if !count! GEQ 4 (
                    set /a newindex=!count!-3
            		if !newindex! LEQ 9 (set index=0!newindex!) else (set index=!newindex!)
            		set _time=%%i
            		rem echo !mCmd! !_time:~0,12! !_time:~13,12! !index!
            		echo !mCmd! !_time:~0,12! !_time:~13,12! !index!>>zCmd_tmp.bat ))
            setlocal disabledelayedexpansion
            call zCmd_tmp.bat
            del zCmd_tmp.bat
            __________________________________________________________________________
            計算總時間  Lib_CalculateTotalTime.bat 01:02:03.400 04:03:10.510 [display]
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            @echo off
            set start_pos_tmp=%1
            set end_pos_tmp=%2
            
            if "%start_pos_tmp:~1,1%"==":" set "start_pos_tmp=0%start_pos_tmp%"
            if "%end_pos_tmp:~1,1%"==":" set "end_pos_tmp=0%end_pos_tmp%"
            
            set hour=%start_pos_tmp:~0,2%
            set min=%start_pos_tmp:~3,2%
            set sec=%start_pos_tmp:~6,2%
            set msec=%start_pos_tmp:~9,3%
            
            rem --------for skip 08 09---------------
            if %hour:~0,1%==0  set hour=%hour:~1,1%
            if %min:~0,1%==0   set min=%min:~1,1%
            if %sec:~0,1%==0   set sec=%sec:~1,1%
            if %msec:~0,1%==0  set msec=%msec:~1,2%
            if %msec:~0,1%==0  set msec=%msec:~1,1%
            
            set /a hour=%hour%
            set /a min=%min%
            set /a sec=%sec%
            set /a msec=%msec%
            
            set /a start_millsec=%hour%*60*60+%min%*60+%sec%
            set /a start_millsec=%start_millsec%*1000+%msec%
            
            set ehour=%end_pos_tmp:~0,2%
            set emin=%end_pos_tmp:~3,2%
            set esec=%end_pos_tmp:~6,2%
            set emsec=%end_pos_tmp:~9,3%
            
            rem --------for skip 08 09---------------
            if %ehour:~0,1%==0  set ehour=%ehour:~1,1%
            if %emin:~0,1%==0   set emin=%emin:~1,1%
            if %esec:~0,1%==0   set esec=%esec:~1,1%
            if %emsec:~0,1%==0  set emsec=%emsec:~1,2%
            if %emsec:~0,1%==0  set emsec=%emsec:~1,1%
            
            set /a ehour=%ehour%
            set /a emin=%emin%
            set /a esec=%esec%
            set /a emsec=%emsec%
            
            set /a end_millsec=%ehour%*60*60+%emin%*60+%esec%
            set /a end_millsec=%end_millsec%*1000+%emsec%
            
            set /a total_time_millsec=%end_millsec%-%start_millsec%
            rem echo %hour% %min% %sec% %msec%
            rem echo %ehour% %emin% %esec% %emsec%
            
            rem echo %start_millsec% %end_millsec% %total_time_millsec%
            set /a tsec=%total_time_millsec%/1000
            set /a tmsec=%total_time_millsec%-%tsec%*1000
            set /a tmin=%tsec%/60
            set /a tsec=%tsec%-%tmin%*60
            set /a thour=%tmin%/60
            set /a tmin=%tmin%-%thour%*60
            
            if %thour% LEQ 9 (set thour=0%thour%)
            if %tmin%  LEQ 9 (set tmin=0%tmin%)
            if %tsec%  LEQ 9 (set tsec=0%tsec%)
            if %tmsec%  LEQ 9 (set tmsec=00%tmsec%) else (if %tmsec%  LEQ 99 (set tmsec=0%tmsec%))
            set total_time=%thour%:%tmin%:%tsec%.%tmsec%
            if "%3"=="display" (echo [%start_pos_tmp% - %end_pos_tmp%] = %total_time%)
            _______________________
            轉(zhuǎn)換 Lib_Conversion.bat
            ~~~~~~~~~~~~~~~~~~~~~~~
            @echo off
            set h=%time:~0,2%
            if "%h:~0,1%"==" " set "h=0%h:~1%"
            set m=%time:~3,2%
            set s=%time:~6,2%
            set hms=%h%%m%%s%
            rem ------------------------------input parameters-----------------------------
            set         inFile=%1
            set        outFile=%2_%hms%_%6.%3
            set      start_pos=%4
            set        end_pos=%5
            
            rem set video_bit_rate=-b:v 1500k
            rem set audio_bit_rate=-b:a 64k
            rem set     frame_size=-s 720x404
            rem set         aspect=-aspect 16:9
            set    logFileName=%2_conversion.log
            
            rem for copy
            set    video_codec=-c:v copy
            set    audio_codec=-c:a copy
            
            rem for H264
            rem set    video_codec=-c:v libx264
            rem set    audio_codec=-c:a libvo_aacenc
            
            rem for mpeg4 xvid
            rem set    video_codec=-c:v mpeg4
            rem set fourcc_tag_out=-tag:v XVID
            rem set    audio_codec=-c:a libmp3lame
            
            rem set         inFile="D:\TDDOWNLOAD\01.mp4"
            rem set        outFile="%hms%.avi"
            rem set      start_pos=00:40:10.000
            rem set        end_pos=00:40:11.000
            rem ------------------------------calctime-------------------------------------
            if "%end_pos%"    NEQ "" (call Lib_CalculateTotalTime %start_pos% %end_pos% display)
            if "%total_time%" NEQ "" (set total_time=-t %total_time%)
            if "%start_pos%"  NEQ "" (set start_pos=-ss %start_pos%)
            rem ------------------------------make cmd-------------------------------------
            set cmd=ffmpeg
            set cmd=%cmd% %start_pos%
            set cmd=%cmd% -y -i %inFile% %total_time%
            set cmd=%cmd% %audio_codec% %audio_bit_rate%
            set cmd=%cmd% %video_codec% %fourcc_tag_out% %video_bit_rate%
            rem set cmd=%cmd% -g 12 -bf 2 -qcomp 0.2 -dc 10 -mbd 2 %frame_size% %aspect%
            set cmd=%cmd% %frame_size% %aspect%
            set cmd=%cmd% %outFile%
            rem ------------------------------run cmd--------------------------------------
            set begin_time=%date:~0,10% %time:~0,11%
            @echo on
            %cmd%
            @echo off
            set end_time=%date:~0,10% %time%
            rem ------------------------------write to log---------------------------------
            echo ---%date:~0,10% %time:~0,11%---------------------------------------------->>%logFileName%
            echo %cmd%>>%logFileName%
            echo.>>%logFileName%
            echo         inFile = %inFile%>>%logFileName%
            echo        outFile = %outFile%>>%logFileName%
            if "%video_bit_rate%" NEQ "" (echo Video bit rate = %video_bit_rate:~5,10%>>%logFileName%)
            if "%audio_bit_rate%" NEQ "" (echo Audio bit rate = %audio_bit_rate:~5,10%>>%logFileName%)
            echo.>>%logFileName%
            echo      start_pos = %start_pos:~4,12%>>%logFileName%
            echo        end_pos = %end_pos%>>%logFileName%
            echo     total_time = %total_time:~3,12%>>%logFileName%
            echo.>>%logFileName%
            echo     begin time = %begin_time%>>%logFileName%
            echo       end time = %end_time%>>%logFileName%
            rem ------------------------------put message----------------------------------
            echo -------The end of the conversion------------------------------------------
            rem echo         inFile = %inFile%
            rem echo        outFile = %outFile%
            if "%video_bit_rate%" NEQ "" (echo  video bit rate = [v:%video_bit_rate:~5,10%] [a:%audio_bit_rate:~5,10%])
            echo      video time = [%start_pos:~4,12% - %end_pos%] = %total_time:~3,12%
            call Lib_CalculateTotalTime %begin_time:~11,11% %end_time:~11,11%
            echo conversion time = [%begin_time:~11,11%  - %end_time:~11,11% ] = %total_time:~0,12%
            echo --------------------------------------------------------------------------
            __________________
            合并 Lib_Joins.bat
            ~~~~~~~~~~~~~~~~~~
            @echo off
            setlocal enabledelayedexpansion
            dir *.avi/b/w/n/on>all_avi_name.txt
            set aaf=mencoder
            for /f %%i in (all_avi_name.txt) do (set aaf=!aaf! "%%i")
            set aaf=!aaf! -oac copy -ovc copy -o join.avi
            rem set aaf=!aaf! -oac pcm -ovc copy -o join.avi
            echo %aaf%>>join.log
            set begin_time=%date:~0,10% %time:~0,11%
            %aaf%
            set end_time=%date:~0,10% %time%
            echo ------------ All video join are completed ------------
            call Lib_CalculateTotalTime %begin_time:~11,11% %end_time:~11,11%
            echo join time = [%begin_time:~11,11% - %end_time:~11,11%] = %total_time:~0,12%
            echo ------------------------------------------------------
            
            下載批處理

            posted on 2012-09-20 14:23 1CM 閱讀(1371) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产精品青草久久久久婷婷| 手机看片久久高清国产日韩| 成人妇女免费播放久久久| 国产精品久久久久AV福利动漫| 国内精品人妻无码久久久影院 | 思思久久精品在热线热| 97久久国产亚洲精品超碰热| 一本色道久久99一综合| 一极黄色视频久久网站| 亚洲午夜久久久久久久久久| 91精品国产综合久久精品| 久久久WWW成人免费精品| 久久婷婷人人澡人人爽人人爱| 国内精品伊人久久久久av一坑 | 91久久九九无码成人网站| 亚洲国产成人久久综合碰| 久久婷婷五月综合97色| 亚洲国产成人久久综合区| 久久精品视频免费| 亚洲国产精品高清久久久| 久久精品亚洲福利| 91精品国产91久久久久久青草| 久久婷婷人人澡人人爽人人爱| 久久影院午夜理论片无码| 久久精品9988| A狠狠久久蜜臀婷色中文网| 色妞色综合久久夜夜| 久久久无码精品午夜| 国产精品免费看久久久香蕉| 久久国产色AV免费观看| 亚洲中文字幕无码久久2017| 精品无码久久久久久久久久 | 久久九色综合九色99伊人| 久久精品无码一区二区三区| 久久久久99精品成人片欧美| 一本久道久久综合狠狠躁AV| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久国产劲爆AV内射—百度| 中文字幕精品久久| 久久亚洲精品无码aⅴ大香| 国产精品久久久久久久久软件|