vbmaster Posted July 18, 2006 at 11:49 PM Report #38974 Posted July 18, 2006 at 11:49 PM DivX para DVD em GNU/Linux Antes de mais aproveito desde já para referir que este tutorial não é genuíno, e que é apenas uma tradução modificada de algo postado pelo utilizador shiznix dos Gentoo Foruns. Como tal, qualquer dúvida técnica relativamente ao processo exemplificado deve ser colocada no thread oficial do tut. Este tutorial visa dar a conhecer algo que eu pessoalmente à muito ansiava: o poder converter DivX para DVD em GNU/Linux, sem ser necessário recorrer a software proprietário existente em Windows. Todas as tools são opensource e o processo é bastante simples. O tutorial inicial é mais complexo e deixa até a hipótese de passarem o vosso DivX para DVD, com a possibilidade de criação de menus até, mas eu resumir-me-ei à simples conversão visto ser o que o utilizador normal mais executa e necessita. Começaremos então por verificar as ferramentas que serão necessárias para este tut, todos os passos são executados em command line sem qualquer recurso ao ambiente gráfico, mas referirei alternativas gráficas em casos particulares. Vejamos então o necessário (a instalar da maneira mais rápida que a vossa distribuição suportar): Mjpegtools ffmpeg transcode dvd+rw-tools (ou K3b, o conhecido software para gravação de cd's/dvd's do pacote KDE) Mplayer Dvdauthor Xine (opcional) submux-dvd (opcional - para legendas em formato .sub) slocate ou find Primeiramente vamos supôr que temos o filme matrix.avi e o respectivo ficheiro de legendas matrix.srt. O príncipio O primeiro passo será converter o ficheiro .avi em dois ficheiros distintos, um com o audio em .ac3 e outro com o video em .m2v. Para isso, e já presupondo o formato PAL que é o usado nas televisões europeias correremos primeiramente a seguinte linha: transcode -i matrix.avi -y ffmpeg --export_prof dvd-pal --export_asr 3 -o matrix -D0 -b224 -N 0x2000 -s2 -m matrix.ac3 -J modfps=clonetype=3 --export_fps 25 Obviamente que o nome do vídeo deverá ser substítuido pelo o nome do vosso .avi. NOTA: Se por acaso preferirem que o vosso DVD final venha em formato 4:3 e não no 16:9 que é o que aquela linha de bash shell codifica, deverão substituir o comando --export_asr 3 por --export_asr 2 O processo demorará um pouco mais do que softwares proprietários para o Microsoft Windows leva, tendo registado mais ou menos 3 horas (tenham calma, é a coisa mais lenta do tut... 😛 ). Continuando, e já após o proceso anterior concluído, se têm o vosso DVD de sala ligado um sistema de som 5.1 e querem tirar partido disso no DVD que estão prestes a criar, deverão verificar se o .avi do filme possui essa posibilidade, correndo o comando: mplayer -vo dummy -identify matrix.avi 2> /dev/null | grep "5.1 (" Se o resultado for algo como isto: AC3: 5.1 (3f+2r+lfe) 48000 Hz 384.0 kbit/s Então poderam tirar partido disso, e activar esse sistema de som, fazendo: tcextract -d2 -i matrix.avi -a0 -x ac3 | tcextract -d2 -x ac3 -t raw > matrix.ac3 Estando o comando tcextract incluído no pacote transcode. Continuando... Nesta altura teremos de combinar o ficheiro de vídeo e o ficheiro de aúdio gerados num único ficheiro .mpg. O comando não deverá demorar muito tempo a executar esta tarefa, sendo ele: mplex -f 8 -o matrix_dvd.mpg matrix.m2v matrix.ac3 NOTA: o mplex vem com o Mplayer. Neste momento muito pouco falta para termos finalmente um DVD gerado, mas não se esqueçam, como portugueses que somos teremos de adicionar as legendas... ora isso não é díficil, é apenas um pouco tricky. Em português nos entendemos (legendas)... Para isso vamos supôr que temos o nosso ficheiro de vídeo gerado .mpg e o ficheiro de legendas que deverá estar no formato .srt (em .sub também é possível, mas nesse caso terão de usar a package submux-dvd para anexar o .mpg às legendas, leiam o man do comando submux-dvd). Vamos então criar uma pasta chamada .spumux na nossa home (~/). NOTA: O nome tem da pasta tem de ser rigorosamente este. cd ~/ mkdir .spumux Vamos seguidamente mover os nossos ficheiros para a pasta criada (aconselha-se o uso de command line para evitar desgraças): mv matrix.mpg ~/.spumux mv matrix.srt ~/.spumux Posteriamente entramos na pasta .spumux e criaremos um ficheiro subtitle.xml que dirá ao comando que utilizaremos o que fazer e como fazer na indexação das legendas ao ficheiro de vídeo .mpg. cd ~/.spumux nano subtitle.xml O editor de texto é irrelevante, portanto substituam o "nano" por "gedit", "kedit", o que quiserem. O texto desse ficheiro deverá ser: <subpictures> <stream> <textsub filename="matrix.srt" characterset="ISO8859-1" fontsize="18.0" font="Vera.ttf" horizontal-alignment="center" vertical-alignment="bottom" left-margin="60" right-margin="60" top-margin="20" bottom-margin="30" subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574"/> </stream> </subpictures> NOTA: A minha experiência com este procedimento revelou que o tamanho de letra 18 se tornou insuficiente, pelo que será aconselhável aumentá-lo, mas também pode depender dos televisores... Em seguida mover-se-à a fonte Vera.ttf para a respectiva pasta, para que o anexador utilizado a possa usar. Iremos utilizar a fonte Vera.ttf com o comando locate (disponível pelo pacote slocate) : locate Vera.ttf Como output ser-nos-ão dado alguns endereços, do qual poderemos usar o que quisermos desde que aponte para o ficheiro que queremos, portanto faremos algo como: cp /xxxx/zzzz/yyyy/aaaa/Vera.ttf ~/.spumux/ Para confirmar deveremos ter neste momento na pasta .spumux os seguintes ficheiros: matrix.avi matrix.srt subtitle.xml Vera.ttf Anexaremos por fim as legendas com o .mpg correndo o seguinte (dentro da .spumux): spumux -s0 subtitle.xml < matrix.mpg > matrix.mpg.temp E por fim: mv matrix.mpg.temp matrix.mpg Devendo responder 'yes' caso vos seja perguntado se querem escrever por cima do actual ficheiro. Criado os ficheiros próprio de um filme DVD Ainda na .spumux, para não complicar, criem um directório chamado "DVD": mkdir DVD E criem na .spumux (não na DVD), o ficheiro dvdauthor.xml: nano dvdauthor.xml Introduzindo-lhe o seguinte conteúdo: <dvdauthor dest="DVD"> <vmgm /> <titleset> <titles> <video widescreen="nopanscan" /> <pgc> <vob file="matrix.mpg" chapters="0,0:30,1:00,1:30,2:30,3:00,3:30,4:00"/> </pgc> </titles> </titleset> </dvdauthor> Para ficar terminado, basta porteriormente fazer: dvdauthor -x dvdauthor.xml Poderão neste momento testar o vosso DVD, já com legendas e pronto a gravar, por exemplo com o xine (também possível com o Mplayer, mas possívelmente com diferente comando), fazendo: xine dvd:/full/path/to/DVD/VIDEO_TS/ Gravação.... ufa... estava a ver que não... Bem, nesta altura, poderá usar o seu software de gravação preferido como o K3b, mas se quiser continuar em command line bastará fazer (ainda dentro da .spumux): growisofs -Z /dev/dvd -dvd-video DVD NOTA: o dvd em /dev/dvd poderá não funcionar no vosso sistema, no meu bastou subtituir por cdrom1, visto possuir duas drives ópticas, e só a segunda delas gravar dvd's. Na maior parte das distros o cdromx deverá funcionar. O processo demorará alguns minutos ( o tempo normal da gravação de um dvd) e ao fim de alguns minutos teremos o DVD para testar no nosso DVD de sala. NOTA FINAL:: Todo o processo requererá espaço em disco, sendo no mínimo necessário 8/9GB's. Agradeço feedback da vossa possível execução do tutorial. A mim funcionou e apenas notei que deveria ter aumentado o tamanho das legendas... Espero que a conversão de filmes para o formato DVD a partir de um DivX não seja mais um dos factores que vos fazem reinciar o computador para ir ao Windows da Microsoft. Qualquer questão técnica poderá ser aqui postada, e até agradeço, mas para mais informação e poder observar um tutorial mais completo, mas na língua inglesa, deverão se deslocar aos link já referenciado para o thread oficial do tut nos gentoo foruns. Espero sinceramente que vos seja muito útil... vbmaster LinTeam
vbmaster Posted July 22, 2006 at 10:40 AM Author Report #39554 Posted July 22, 2006 at 10:40 AM Corrigidos dois pequenos bugs.
David Pintassilgo Posted September 5, 2007 at 11:16 AM Report #130806 Posted September 5, 2007 at 11:16 AM Boas. Estive a ler e precisava de uma ajuda. O que eu pretendo é só agarrar no avi e metelo pró dvd, sem legendas, sem menus, é mesmo só meter aquilo lá pra dentro. Pelo que precebi tenho de fazer isto: transcode -i matrix.avi -y ffmpeg --export_prof dvd-pal --export_asr 3 -o matrix -D0 -b224 -N 0x2000 -s2 -m matrix.ac3 -J modfps=clonetype=3 --export_fps 25 e que mais? não há prai muitos passos que posso saltar? Quais em concreto? cool stuffs to check. http://blog.zxcoders.com//
vbmaster Posted September 5, 2007 at 11:32 AM Author Report #130815 Posted September 5, 2007 at 11:32 AM O passo das legendas, quanto ao do menu não te aconselho... (não poderás usar o |> )
David Pintassilgo Posted September 17, 2007 at 11:38 AM Report #133260 Posted September 17, 2007 at 11:38 AM Já me orientei! 😉 Para gravar sem legendas nem nada até que nem foi nada complicado. Com alguma atenção o tuturial deu para seguir com relativa facilidade. Entretanto tirei umas notas pessoais se alguém quiser dar uma olhadela pode dar jeito... É um resumo resumido de como gravar sem legendas. Grácias vbmaster! Tá muito bom isso! 😞 cool stuffs to check. http://blog.zxcoders.com//
David Pintassilgo Posted September 20, 2007 at 08:28 PM Report #133990 Posted September 20, 2007 at 08:28 PM Bem,.... :S 🙂😞 :'( Já estou arrependido de ter falado. Só consegui á primeira agora ,.. népias! O Pc bloqueia e só lá vai com reset. Tenho tudo prontinho para gravar e tal... testo com o xine e aparentemente está prefeito.... Ao gravar faz isto: Executing 'genisoimage -dvd-video DVD | builtin_dd of=/dev/dvd obs=32k seek=0'I: -input-charset not specified, using utf-8 (detected in locale settings) Unknown file type (unallocated) DVD/.. - ignoring and continuing. 0.64% done, estimate finish Thu Sep 20 21:09:07 2007 /dev/dvd: "Current Write Speed" is 2.0x1352KBps. E pronto,... ao fim de 2 ou 3 minutos já não consigo fazer nada no computador...... a questão é: WTF? 😛😄 :D ? ? ? :bye2: edit: No fim de reeiniciar o pc volto 'a dar' o mesmo comando para gravar e: Executing 'genisoimage -dvd-video DVD | builtin_dd of=/dev/dvd obs=32k seek=0' I: -input-charset not specified, using utf-8 (detected in locale settings) Unknown file type (unallocated) DVD/.. - ignoring and continuing. /dev/dvd: "Current Write Speed" is 2.0x1352KBps. :-? resuming track#1 from LBA#16 0.64% done, estimate finish Thu Sep 20 22:55:36 2007 1.28% done, estimate finish Thu Sep 20 22:32:18 2007 . . . . . Vai até aos 100% e mas depois o dvd não lê. (estou neste momento a voltar a tentar em principio vai-se passar o mesmo que das outras vezes, caso contrario ja aviso) cool stuffs to check. http://blog.zxcoders.com//
David Pintassilgo Posted September 20, 2007 at 09:15 PM Report #134002 Posted September 20, 2007 at 09:15 PM Possa!!!!!! Devem de me achar maluco. Desta vez,... e no fim de estragar 3 dvd's da "mesmissima" forma como fiz o post antes de terminar 'o gajo' só pra me moer ficou bom. De qualquer das formas há alguma razão aparente para o pc ter marado? cool stuffs to check. http://blog.zxcoders.com//
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now