Serios problemas con delays y KSVCD express
Que tal
Despues de hacer varios intentos para hacer un KSVCD a la express, he tenido bastantes dificultades para que quede bien sincronizado el audio y el video pero no he tenido buenos resultados. Revisando el hilo de este tema, hice los cambios necesarios para hacer un video NTSC, pero aun asi, al hacerlos, tuve problemas con la sincronizacion y parece que los cuadros del video van mas rapido de lo normal. Alguna sugerencia , ayuda? :D |
Postea más datos, el link al hilo donde dice como hacerlo en NTSC sobre todo y los pasos que seguiste.
|
Pasos que seguí
1.- Extraje con DVD decrypter el DVD en modo IFO obteniendo un solo VOB.
2.- Utilice el siguiente script KSVCD_Express modificado para NTSC segun recomendaciones de Maurus. @ECHO OFF ECHO ::: ECHO NTSC KSVCD Express 2.03 por Maurus ECHO ::: :: --------------------- Advertencia Legal ----------------------------------------- :: No es legal el uso KSVCD Express para hacer otra cosa que no sean :: copias de seguridad personales de DVDs legalmente adquiridos. :: Es delito usarlo con fines comerciales o de lucro. :: --------------------------------------------------------------------------------- :: Disclaimer :: Remember, this script is for personal and legal use. I won't :: take any responsibilities in any way for how you choose to use the :: instructions, software and links in this guides. This script only serves as :: a guide to learning, NOT a guide to DVD piracy or anything illegal. :: By reading this, you automatically agree to abide by this rules. If you :: don't agree, please delete this script immediately. All KVCD templates :: and KVCD Quantization Matrix are Copyright (c) 2002, 2003 of :: Softronex Corporation. All other programs used are property of its :: respectives owners. :: :: --------------------- Variables a configurar ------------------------------------ :: source ------> AVI - DVD - Indicar si la fuente es un AVI ó un DVD :: directorio --> Directorio donde están el VOB y el AC3 de la película :: pelicula ----> Nombre corto o alias de la película :: duracion ----> Duración de la pelicula en minutos (despreciamos los seg.) :: aspectRatio -> 4:3 - 16:9 (panorámica) - 4:3LB (panorámica -> LetterBoxed 4:3) :: baseAVI -----> Base o ancho del AVI (sólo si source=AVI) :: alturaAVI ---> Alto del AVI (sólo si source=AVI) :: discos ------> Número de discos destino (1 ó 2) :: media--------> Tamaño del disco (CD80 -> CD 80 min) (CD90 -> CD 90 min) :: ó Tamaño personalizado en MB :: imagen ------> YES (Imagen cue/bin con capítulos y logo) - NO (No imagen) :: interlaced --> OFF (No entrelazado) - TFF (Top field primero) - BFF (Bottom field primero) :: apagar ------> ON (Apagar al finalizar) - OFF (Mantener el equipo encendido) :: :: --------------------------- Settings --------------------------------------------- :: source ------> AVI - DVD :: directorio --> Folder where VOBs and AC3 are :: pelicula ----> Short name or movie alias :: duracion ----> Movie time in minutes :: aspectRatio -> 4:3 - 16:9 (panoramic) - 4:3LB (panoramic -> LetterBoxed 4:3) :: baseAVI -----> AVI Width (only for source=AVI) :: alturaAVI ---> AVI Height (only for source=AVI) :: discos ------> Target CD number. (1 or 2) :: media--------> CD type (CD80 -> CD 80 min) (CD90 -> CD 90 min) :: or custom size in MB :: imagen ------> YES (Image cue/bin with chapters and logo) - NO (No image) :: interlaced --> OFF (Not interlaced) - TFF (Top field first) - BFF (Bottom field first) :: apagar ------> ON (PC shutdown) - OFF (Not PC shutdown) :: --------------------------------------------------------------------------------- :: :: (Datos que podemos modificar) :: (We can modify) :: Set source=DVD Set directorio=F:\THE_MATRIX_REVOLUTIONS_D1\VIDEO_TS Set pelicula=matrix Set duracion=129 Set aspectRatio=16:9 Set baseAVI=480 Set alturaAVI=256 Set discos=1 Set media=CD80 Set imagen=YES Set interlaced=OFF Set apagar=YES :: :: ---------------------------------------------------------------------------- :: (No tocar a partir de aquí) :: (Don't change beyond here) :: ---------------------------------------------------------------------------- :: --------- Proceso completo de codificación KSVCD Express ------------------- :: ---------------------------------------------------------------------------- :: Comprobamos existencia del mateeia prima :: IF /I '%source%'=='AVI' IF NOT EXIST "%directorio%\%pelicula%.avi" GOTO NOAVI IF /I '%source%'=='DVD' IF NOT EXIST "%directorio%\VTS_01_1.VOB" GOTO NOVOB :: --- Aspect Ratio, Overscan and Interlaced --- :INTERLACED Set Kerndeint= Set x=:: IF '%interlaced%'=='BFF' Set Kerndeint=kerndeint=18:0:1:1:0, IF '%interlaced%'=='TFF' Set Kerndeint=kerndeint=18:0:0:1:0, IF '%interlaced%'=='OFF' Set Kerndeint= IF NOT '%interlaced%'=='OFF' Set x=:1: :: 16/9 por defecto para DVD Set aspect=1.7777 :: 4:3 LetterBoxed Overscan=2 IF /I '%source%'=='DVD' Set vfLetterBoxed=%Kerndeint%yuvcsp,crop=712:576:4:0,s cale=448:408%x%0:9,expand=480:576:-1:-1 :: 16:9 ó 4:3 Overscan=2 IF /I '%source%'=='DVD' Set vfNormal=%Kerndeint%yuvcsp,crop=720:480:0:0,scale= 720:480::0:9,expand=720:480:0:0 :: 4:3 LetterBoxed por defecto Set vf=%vfLetterBoxed% IF '%aspectRatio%'=='4:3' ( Set aspect=1.3333 ) ELSE ( Set aspect=1.7777 ) IF '%aspectRatio%'=='4:3LB' ( Set vf=%vfLetterBoxed% ) ELSE ( Set vf=%vfNormal% ) :: AVIs IF /I '%source%'=='DVD' GOTO BITRATE ::Calculo del resize del AVI Set /A x = 424 * %alturaAVI% / %baseAVI% Set /A y = (576 * %x%) / 324 Set /A c = %y% / 8 Set /A r = %y% - (8 * %c%) Set /A altura = %y% - r Set /A baseCrop = %baseAVI% - 10 Set aspect=1.3333 Set vf=%Kerndeint%yuvcsp,pp=hb:100:100/vb,crop=%baseCrop%:%alturaAVI%:5:0,scale=448:%altu ra%::0:9,hqdn3d=10:12:8,expand=480:576:-1:-1 :: --- :: --- Cálculo del Avg Bitrate --- :BITRATE Set tMedia=%media% Set bitrateAudio=128 IF /I '%discos%'=='2' Set bitrateAudio=160 IF /I '%media%'=='CD80' Set tMedia=800 IF /I '%media%'=='CD90' Set tMedia=900 Set /A audio = (%bitrateAudio% / 8) * (%duracion% * 60) Set /A video = ((%tMedia% * 1024 * %discos%) - (10 * 1024)) - %audio% Set /A avgBitrate = (%video% / (%duracion% * 60)) * 8 Set lmin=1 IF %avgBitrate% GTR 800 Set lmin=0.5 IF %avgBitrate% GTR 1000 Set lmin=0.4 IF %avgBitrate% GTR 1800 Set lmin=0.3 IF %avgBitrate% GTR 3000 Set lmin=0.1 IF %avgBitrate% GTR 4000 Set lmin=0.01 :: --- Log --- Set log="%directorio%\%pelicula%.log" echo Log KSVCD Express por Maurus > %log% echo . >> %log% echo Fuente: %source% >> %log% echo Pelicula: %directorio%\%pelicula% >> %log% echo Duración: %duracion% minutos >> %log% IF /I '%source%'=='AVI' echo Ancho: %baseAVI% >> %log% IF /I '%source%'=='AVI' echo Alto: %alturaAVI% >> %log% echo Discos: %discos% %media% >> %log% echo Avg Bitrate: %avgBitrate% >> %log% echo Bitrate sonido: %bitrateAudio% >> %log% IF /I '%source%'=='DVD'echo Aspect Ratio: %aspectRatio% >> %log% echo Entrelazado: %interlaced% >> %log% echo Imagen cue/bin: %imagen% >> %log% echo . >> %log% echo . >> %log% :: --- Comienzan los procesos --- IF /I '%source%'=='DVD' Set nameFile=VTS_01_1.VOB IF /I '%source%'=='AVI' Set nameFile=%pelicula%.avi IF /I '%source%'=='DVD' GOTO PROYECTO :: :: Si es AVI, comprobamos previamente si vamos a poder extraer el sonido :: echo Extracción del audio del AVI >> %log% echo ... >> %log% echo engines\AVI2WAVCMD %directorio%\%pelicula% %directorio%\%pelicula% >> %log% engines\AVI2WAVCMD %directorio%\%pelicula% %directorio%\%pelicula% /INFO >> %log% engines\AVI2WAVCMD %directorio%\%pelicula% %directorio%\%pelicula% echo ... >> %log% IF ERRORLEVEL 197 GOTO AUDIOMALO GOTO VIDEO :: --- Proyecto DVD2AVI 1.77.3 para extraer el audio AC3 --- :PROYECTO time /t >> %log% echo Creación del proyecto DVD2AVI 1.77.3 (para extraer audio del DVD) >> %log% echo . >> %log% echo engines\dvd2avidg -CS=2 -OM=2 -AIF=[%directorio%\%nameFile%] -OF=[%directorio%\%pelicula%] -Exit >> %log% engines\dvd2avidg -CS=2 -OM=2 -AIF=[%directorio%\%nameFile%] -OF=[%directorio%\%pelicula%] -Exit echo . >> %log% :: --- Codificación de video --- :VIDEO time /t >> %log% echo Codificación de video (Pass 1) >> %log% echo ... >> %log% echo mencoder.exe -of rawvideo -sws 2 -noskip -nosound -noaspect -noautoexpand -vf %vf% -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme =2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=%l min%:vpass=1:vrc_buf_size=917:vbitrate=%avgBitrate %:vrc_maxrate=2500:aspect=%aspect%:keyint=18:intra _matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34, 37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40 ,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,2 9,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:int er_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,2 8,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32, 34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38 ,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,4 4 -ofps 29.970 "%directorio%\%nameFile%" -o "/dev/null" >> %log% mencoder.exe -of rawvideo -sws 2 -noskip -nosound -noaspect -noautoexpand -vf %vf% -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme =2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=%l min%:vpass=1:vrc_buf_size=917:vbitrate=%avgBitrate %:vrc_maxrate=2500:aspect=%aspect%:keyint=18:intra _matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34, 37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40 ,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,2 9,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:int er_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,2 8,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32, 34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38 ,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,4 4 -ofps 29.970 "%directorio%\%nameFile%" -o "/dev/null" echo ... >> %log% time /t >> %log% echo Codificación de video (Pass 2) >> %log% echo ... >> %log% echo mencoder.exe -of rawvideo -sws 2 -noskip -nosound -noaspect -noautoexpand -vf %vf% -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme =2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=%l min%:vpass=2:vrc_buf_size=917:vbitrate=%avgBitrate %:vrc_maxrate=2500:aspect=%aspect%:keyint=18:intra _matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34, 37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40 ,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,2 9,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:int er_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,2 8,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32, 34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38 ,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,4 4 -ofps 29.970 "%directorio%\%nameFile%" -o "%directorio%\%pelicula%.m2v" >> %log% mencoder.exe -of rawvideo -sws 2 -noskip -nosound -noaspect -noautoexpand -vf %vf% -ovc lavc -lavcopts vcodec=mpeg2video:vrc_eq=tex:vmax_b_frames=2:preme =2:precmp=2:vstrict=-1:scplx_mask=0.3:vqblur=0:mbqmin=1:vqmin=1:lmin=%l min%:vpass=2:vrc_buf_size=917:vbitrate=%avgBitrate %:vrc_maxrate=2500:aspect=%aspect%:keyint=18:intra _matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34, 37,12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40 ,26,27,29,36,39,38,40,48,27,29,34,37,38,40,48,58,2 9,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79:int er_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,2 8,30,32,20,22,24,26,28,30,32,34,22,24,26,30,32,32, 34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,36,38 ,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,4 4 -ofps 29.970 "%directorio%\%nameFile%" -o "%directorio%\%pelicula%.m2v" :: --- Codificación de Audio --- echo ... >> %log% time /t >> %log% IF /I '%source%'=='AVI' GOTO AUDIOAVI echo Codificación de audio para DVD's >> %log% echo ... >> %log% FOR %%A IN (%directorio%\*.ac3) DO Set file=%%A set v_result=%file:*DELAY =% set delay=%v_result:ms.AC3=% echo engines\BeSweet -core( -input "%file%" -output "%file%.mp2" -logfilea "%directorio%\%pelicula%.log" -be ) -azid( -s surround2 -c normal -L -3db ) -ota( -g max -d %delay% ) -ssrc( --rate 44100 ) -mp2enc( -m d -b %bitrateAudio% -e ) -profile( ~~~~~ KSVCD Express ~~~~~ ) >> %log% FOR %%A IN (%directorio%\*.ac3) DO engines\BeSweet -core( -input "%%A" -output "%directorio%\%pelicula%.mp2" -logfilea "%directorio%\%pelicula%.log" -be ) -azid( -s surround2 -c normal -L -3db ) -ota( -g max -d %delay% ) -ssrc( --rate 44100 ) -mp2enc( -m d -b %bitrateAudio% -e ) -profile( ~~~~~ KSVCD Expres ~~~~~ ) GOTO MUX :AUDIOAVI echo ... >> %log% time /t >> %log% echo Codificacion de WAV extraído del AVI a MP2 >> %log% echo ... >> %log% echo engines\BeSweet -core( -input "%directorio%\%pelicula%.wav" -output "%directorio%\%pelicula%.mp2" -logfilea "%directorio%\%pelicula%.log" -be ) -ota( -g max ) -ssrc( --rate 44100 ) -mp2enc( -m d -b %bitrateAudio% -e ) -profile( ~~~~~ KSVCD Expres ~~~~~ ) >> %log% engines\BeSweet -core( -input "%directorio%\%pelicula%.wav" -output "%directorio%\%pelicula%.mp2" -logfilea "%directorio%\%pelicula%.log" -be ) -ota( -g max ) -ssrc( --rate 44100 ) -mp2enc( -m d -b %bitrateAudio% -e ) -profile( ~~~~~ KSVCD Expres ~~~~~ ) :: --- Multiplexación --- :MUX echo ... >> %log% time /t >> %log% echo Multiplexación >> %log% echo ... >> %log% Set tSize=795 IF /I '%media%'=='CD80' Set tSize=795 IF /I '%media%'=='CD90' Set tSize=895 echo engines\mplex -f 4 -r 0 -v 1 -b 230 -V -p 1 -h -S %tSize% -o "%directorio%\%pelicula%%%d.mpg" "%directorio%\%pelicula%.m2v" "%directorio%\%pelicula%.mp2" >> %log% engines\mplex -f 4 -r 0 -v 1 -b 230 -V -p 1 -h -S %tSize% -o "%directorio%\%pelicula%%%d.mpg" "%directorio%\%pelicula%.m2v" "%directorio%\%pelicula%.mp2" :: --- Imagen cue/bin --- IF /I '%imagen%'=='NO' GOTO FIN IF NOT EXIST "%directorio%\%pelicula%1.mpg" GOTO FIN echo ... >> %log% time /t >> %log% echo Creando imagen cue/bin con capítulos y logo >> %log% echo ... >> %log% echo engines\vcdxbuild -c "%directorio%\%pelicula%1.cue" -b "%directorio%\%pelicula%1.bin" "%directorio%\%pelicula%1.xml" >> %log% :: Para 1 CD IF /I '%discos%'=='1' call imagenxml 1 1 %duracion% "%directorio%" "%pelicula%" "logomaurus" IF /I '%discos%'=='1' ( engines\vcdxbuild -c "%directorio%\%pelicula%1.cue" -b "%directorio%\%pelicula%1.bin" "%directorio%\%pelicula%1.xml" ) :: Para 2 CDs IF /I '%discos%'=='2' call imagenxml 1 2 %duracion% "%directorio%" "%pelicula%" "logomaurus1" "InserteCD2" IF /I '%discos%'=='2' call imagenxml 2 2 %duracion% "%directorio%" "%pelicula%" "logomaurus2" IF /I '%discos%'=='2' ( engines\vcdxbuild -c "%directorio%\%pelicula%1.cue" -b "%directorio%\%pelicula%1.bin" "%directorio%\%pelicula%1.xml" ) IF /I '%discos%'=='2' ( engines\vcdxbuild -c "%directorio%\%pelicula%2.cue" -b "%directorio%\%pelicula%2.bin" "%directorio%\%pelicula%2.xml" ) :: --- Apagado del equipo --- :FIN echo ... >> %log% time /t >> %log% echo ¡¡¡Fin de proceso!!! >> %log% IF /I '%apagar%'=='ON' engines\shutdown -u -t 30 GOTO ADIOS :NOAVI echo No existe el fichero %directorio%\%pelicula%.avi GOTO ADIOS :NOVOB echo No existe el fichero %directorio%\VTS_01_1.VOB GOTO ADIOS :AUDIOMALO engines\AVI2WAVCMD %directorio%\%pelicula% %directorio%\%pelicula% /INFO echo El AVI %directorio%\%pelicula%.avi tiene un formato de audio no soportado GOTO ADIOS :: :ADIOS echo . echo Gracias por usar KSVCD Express - Thanks for using KSVCD Express :: PAUSE 3.- Deje que terminara de ejecutarse el script por completo, obteniendo el audio en MP2, el video en formato MV1 y el archivo final MPG, ademas de la imagen bin y el archivo cue. 4.- Cuando veo la pelicula comprimida, el delay del audio al principio es poco pero, a medida que avanza la pelicua, éste se va haciendo cada vez mayor. 5.- Gracias por su ayuda. |
Este script tiene muchos errores como para poder obtener un ntsc con el audio sincronizado, y tiene valores de resize calculados para PAL.
Te recomiendo utilices DIKO, que está traducido al castellano. Busca el hilo correspondiente en la página principal del foro. DIKO usa FreeEnc (libavcodec) lo mismo que Mencoder. |
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.