• Avatar do Utilizador
  • Avatar do Utilizador
  • Avatar do Utilizador
  • Avatar do Utilizador
#532
Decidi escrever mais um tutorial para ajudar as fansubs e não só que são adeptos das legendas Softsub.
Sei que já existe um tutorial que retrata este aspecto, mas decidi escrever este, mais detalhado e usando outros programas. E usarei também um vocabulário mais adequado para ajudar aqueles que são noobs inexperientes.

Hoje em dia, vemos muitas fansubs a aderirem ao softsub e, com isso, um leve aumento nas populares "v2" para corrigir qualquer tipo de problema que haja nas legendas e não só. A vantagem é que já não é necessário fazer upload de toda a release em si (mkv) novamente, visto que o encode (vídeo) é o mesmo, e que a única coisa que difere costuma ser a legenda, ou certas informações opcionais no mkv em si, como por exemplo adicionar alguma font que se tenha esquecido de adicionar ao mkv.
E para isso basta criar um patch.

Pode-se dizer que é um "desperdício digital" enorme que pode ser resolvido com apenas míseros kilobytes e paciência de quem o pratica. ^^

Por definição, um patch (literalmente, "parcela/remendo") é um "programa" criado para actualizar ou corrigir um software.

No mundo das fansubs, faz-se um patch para aplicar uma actualização na primeira versão do .mkv. E como o ficheiro mkv será praticamente o mesmo, visto o vídeo o ser (na teoria, os mesmos bytes iniciais), o que diferirá será apenas a legenda e/ou alguma fonte que, por ventura, se esqueceu de adicionar (teoricamente, os bytes finais). Notem que caso queiram adicionar um áudio extra também é possível, mas claro, aí o patch não terá míseros kb. Mas já uns bons mb; Dependendo do tamanho do áudio.

Bem, depois de entender a teoria, vamos lá passar à prática e ver os programas que são necessários para fazermos o tal patch.

Irei retratar o uso dos patchs usando 2 programas: o já conhecido Xdelta e o DF SDK.

Imagem

O uso do Xdelta é via linha de comando, enquanto que o DF SDK é por meio de um GUI (Interface Gráfica, ou seja, amigo do utilizador... ou deverei dizer noob? xD).

No meu exemplo, irei usar o anime "XYZ". Actualizei a legenda e adicionei algumas fontes aleatórias a mais só para entendermos o funcionamento de ambos os programas e, também, para analisarmos se tudo correrá conforme o previsto.

Comecemos com o DF SDK. O processo de criação do patch é feito da seguinte forma:

Imagem

Aguarde o processo de verificação de ambos os ficheiros para que o programa crie o patch (Dependendo da sua máquina, poderá variar de poucos segundos a certos minutos, quiçá horas (NOT xD)).

Ao terminar, ele informará as observações da comparação e da criação do patch. Veja como ficará o DF SDK após criar o patch:

Imagem

Neste exemplo, o patch ficou com míseros 41,2kb.

Agora, irei demonstrar o mesmo processo com o programa Xdelta:

Imagem

Explicando o que foi feito, coloquei a seguinte sintaxe directamente na linha de comandos e corri, mas também pode ser colocado no bloco de notas e gravá-lo como diferencial.bat (a extensão terá de ser .bat, o nome é o que desejarem):
Código: Selecionar todos
xdelta3 -e -s "[Fansub]_Versao_Antiga_Sem_Acentos_[CRC].mkv" "[Fansub]_Versao_NOVA_Sem Acentos_v2_[CRC].mkv" "[Fansub]_Nome_do_diferencial_criado.xdelta"
@Echo Diferencial xdelta criado com sucesso! 
@pause
Após correr o diferencial.bat, o patch foi criado. Neste exemplo, o patch ficou com 51.6kb.

Ambos relativamente pequenos, não? ^^

Tenham em atenção, de que o ficheiro .bat criado servirá APENAS para criar o ficheiro .xdelta. E esse ficheiro é que é o patch!
Esse diferencial.bat não será enviado aos fãs para actualizarem a v1 para v2.


Agora vou ensinar como usar o patch criado de ambos os programas para criar a v2 do ficheiro.

Explicando o DF SDK:

Imagem

Aguarde o processo de aplicação do patch, e pronto, novo ficheiro criado.


Agora vamos fazer o mesmo com o Xdelta:

Imagem

Explicando o passo final, eu usei a seguinte sintaxe, embora tenha usado directamente na linha de comandos, podem na mesma criar um ficheiro .bat, tal como criaram o diferencial.bat. Podem nomear este como sendo "patch":
xdelta3.exe -d -s "[Fansub]_Versao_Antiga_Sem_Acentos_[CRC].mkv" "[Fansub]_Nome_do_diferecnial_criado.xdelta" "[Fansub]_Versao_NOVA_v2_[CRC].mkv"
@Echo Versão Final convertida com Sucesso!
@Echo Clique para continuar e apagar os ficheiros antigos e o patch, já não necessários.
@pause
del "[Fansub]_Versao_Antiga_Sem_Acentos_[CRC].mkv"
del "[Fansub]_Nome_do_diferecnial_criado.xdelta"
del "xdelta3.exe"
@Echo Ficheiros antigos e patch apagados com sucesso.
@pause
Atenção: O que se encontra a vermelho são os comandos que irão apagar o ficheiro da v1, o diferencial e o xdelta3.exe. Se não querem que estes ficheiros sejam apagados automaticamente não os copiem.



Para quem está a ler este tutorial pela primeira vez e que nunca tentou isto na vida, realmente fica um quanto impressionado, e caso questionem o processo, e caso achem que não é 100% seguro, eu digo-o com convicção que sim, que o é! Basta correrem os ficheiros no RapidCRC e verão que os ficheiros serão iguais. Isto é Versão nova que criaste em comparação a versão nova criada pelo patch a partir da versão antiga. :hm:


Excelente tutorial (óbvio lulz), mas porque raio deveria usar isso?

Além da facilidade de fazer upload de um mísero patch, irão poupar os vosso queridos leechers e/ou fãs de animes; a não ficarem lixados por ter que fazer novamente download de um ficheiro de grandes dimensões.

Um bom exemplo, hoje em dia, é vermos certos uploaders pegarem apenas em versões de fansubs internacionais e apenas extraírem a sua legenda para traduzirem, usando até mesmo as mesmas fontes, sem alterar praticamente nada, e por fim, upa o mesmo ficheiro (Isto porque o vídeo, o encode, continua a ser o mesmo). A meu ver, acho isso uma tremenda perda de tempo. O(s) uploader(s) poderia(m) simplesmente criar um patch todo giro e anunciá-lo, com link para este mesmo tutorial para ensinar o leecher/Fãs a aplicá-lo.

Então, e para animes em hardsub não funcionará?

Exacto, quem for adepto e praticante de hardsub teria que encodar novamente, "alternando" o tamanho em bytes do ficheiro, fazendo com que o CRC/MD5 final seja completamente diferente da antiga release. Se fizerem um teste com os 2 programas que referi, notarão que o patch terá quase o mesmo tamanho do novo encode, logo, é notável que é perda de tempo fazer upload desse tal patch. Nesse caso é bem mais fácil reenviar a nova release em si.
Geralmente não irá funcionar, mas há casos, raros, em que a diferença é pouca, mesmo com novo encode, porque vários bits da img serão os mesmos, e tudo o que for igual é aproveitado. E sempre ficaria mais pequeno... mas a meu ver não vale a pena.

Bem, espero que gostem e apreciem o tutorial. :friend:

Caso queiram copiar este tutorial para o vosso site/blog ou seja o que for, sintam-se à vontade, mas creio que não custa nada dar os devidos créditos. Agradeço também ao gustavaum que me fez conhecer o novo GUI. :cool:
Copyright © Leinad4Mind 2007-2020. Todos direitos reservados.
Sekuiya, Red Tiger, Vivaz e 2 outros agradeceram
#47365
Estou a ter um problema a fazer um patch.
Como uso um sistema de 64bits tive de utilizar o xdelta próprio para sistemas de 64bits para fazer o diferencial.xdelta e para aplicar o próprio patch.
Quando distribui o patch, incluí a versão 32bits do xdelta e um .bat especifico para cada sistema operativo.

Ora, o meu problema é que pelos vistos o patch não funciona em sistemas de 32bits.
Não vejo nenhum erro no .bat da versão de 32bits por isso penso que o erro esteja no diferencial.xdelta.

Tenho de criar um diferencial.xdelta num sistema 32bits para ter um patch a funcionar para ambos os sistemas?
#47368
Tanto quanto sei, tens de ter um xdelta para cada .exe. Ou seja, crias o xdelta para 32 bits com o xdelta3-32.exe, e crias o xdelta 64 bits com o xdelta3-64.exe.
Irás ter 2 .bat, 2 .exe e claro 2 xdelta. Na altura de apagar convém o utilizador ter opção de (S)im/(N)ão, e caso clique sim, não te esqueças de apagar o próprio .bat. Ficando apenas o vídeo v2. É que se não metes a opção Sim/Não. Caso dê erro e não crie a v2, irá apagar a v1... e irás obrigar a que saquem a v1 novamente LOOL

Cumps

PS: Mas basta criares em 32bits... visto que o windows 64 bits corre o de 32bits. Escusado fazeres 2 versões... a meu ver.
#47375
Leinad4Mind : PS: Mas basta criares em 32bits... visto que o windows 64 bits corre o de 32bits. Escusado fazeres 2 versões... a meu ver.
Corre? O.o
Estava-me a dar erro quando estava a utilizar a versão de 32bits para criar o .xdelta e depois quando utilizei a versão de 64bits funcionou.
Tem-se de activar alguma coisa para que a versão de 32bits funcione em sistemas de 64bits?

E já agora, como se faz isso para ter uma opção de "(S)im e (N)ão"?
#47384
Ya corre... usa apenas o xdelta de 32bits. Para criares o xdelta etc. Terá de dar bem. Eu uso o xdelta3 criado no dia 15-02-2009, e funciona...
@ECHO off
cls
:inicio
ECHO.
ECHO 1. Sistema de 32Bits
ECHO 2. Sistema de 64 Bits
set /p choice=Digite o número da opção pretendida.
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto 32bits
if '%choice%'=='2' goto 64bits
ECHO "%choice%" nao e valida, tente novamente
ECHO.
goto inicio
:32bits
xdelta-32bits.exe -d -s "[TAO]_Sword_Art_Online_-_02_[720p][35302065].mkv" "[TAO]_Sword_Art_Online_-_02_[720p][35302065].xdelta" "[TAO]_Sword_Art_Online_-_02v2_[720p][CRC].mkv"
ECHO Tentativa de aplicar o patch completa! Verifique se o novo ficheiro foi criado!
set /p answer=Caso o novo ficheiro esteja criado, podera apagar todos os ficheiros antigos, deseja apaga-los? (S/N):
if %answer% == S goto D
if %answer% == s goto D
if %answer% == N goto T
if %answer% == n goto T
goto end
:64bits
xdelta-64bits.exe -d -s "[TAO]_Sword_Art_Online_-_02_[720p][35302065].mkv" "[TAO]_Sword_Art_Online_-_02_[720p][35302065].xdelta" "[TAO]_Sword_Art_Online_-_02v2_[720p][CRC].mkv"
ECHO Tentativa de aplicar o patch completa! Verifique se o novo ficheiro foi criado!
set /p answer=Caso o novo ficheiro esteja criado, podera apagar todos os ficheiros antigos, deseja apaga-los? (S/N):
if %answer% == S goto D
if %answer% == s goto D
if %answer% == N goto T
if %answer% == n goto T
goto end
:D
ECHO Ficheiros vao ser agora apagados.
del "[TAO]_Sword_Art_Online_-_02_[720p][35302065].mkv"
del "[TAO]_Sword_Art_Online_-_02_[720p][35302065].xdelta"
del "xdelta-64bits.exe"
del "xdelta-32bits.exe"
del "64bits.bat"
del "32bits.bat"
ECHO Ficheiros antigos, patch e bats apagados com sucesso.
goto end
:T
ECHO Ficheiros nao vao ser apagados.
goto end
:end
pause
exit
Isto deverá dar. ^^
#47393
Leinad4Mind :Ya corre... usa apenas o xdelta de 32bits. Para criares o xdelta etc. Terá de dar bem. Eu uso o xdelta3 criado no dia 15-02-2009, e funciona...

Isto deverá dar.  ^^
Conclusão para "gerações" futuras: a release do xdelta de 30 de Junho de 2012 de 32bits não funciona em sistemas 64bits.
Fui utilizar uma release mais antiga da versão de 32bits e agora funcionou tudo perfeitamente!

Obrigado por responderes a estes meus problemas e um grande obrigado por esse excelente código! :D
Última edição por Sekuiya em 17 jul 2012, 19:16, editado 1 vez no total.
#47471
Se tiveres a versão antiga, e a versão nova, cria o diferencial. Depois usa o diferencial com a versao antiga, e irás criar a versão nova que tu já tens e podes verificar que o CRC coincide. :godfather:
#47477
Leinad4Mind :Se tiveres a versão antiga, e a versão nova, cria o diferencial. Depois usa o diferencial com a versao antiga, e irás criar a versão nova que tu já tens e podes verificar que o CRC coincide.  :godfather:
Já consegui resolver, não sei como, mas agora já funciona tudo bem, daí ter eliminado o edit... mas pelos vistos não fui a tempo e vistes e estavas a responder. ^^'
De qualquer das maneiras, muito obrigado pela ajuda!
#113836
http://srsfknbiz.wordpress.com/2008/11/ ... h-xdelta3/
tenho este link guardado ha bue xD

Uma duvida. Qd fazem patch,upam o patch e a nova versão, ou só o patch?
#113840
Ambos. Quem transferiu a v1, só precisa de transferir o patch. Quem não transferiu a v1, escusa de ter o trabalho e transfere logo a v2. :godfather:
#287709
As imagens do tópico encontram-se offline neste exato momento!! :cry:

Existem agora opções com interface gráfica opensource:

https://github.com/Moodkiller/xdelta3-gui-2.0
https://github.com/dreamer2908/YAXBPC/releases

Certíssimo. Os que são como o L ou Sanji são os lí[…]

Esta obra já passou oficialmente a bíblia no númer[…]

Repórter Blues (Ep 52)

https://imgur.com/gallery/MaDkpdQ Informa[…]

Também gostaria muito de ter :open_mouth: