Script do Nautilus para conversão de vídeo em 2 passadas

Iniciado por advi, 18 de Janeiro de 2008, 13:52

tópico anterior - próximo tópico

advi

Olá, gente.

Fiz um script para ser executado no Gnome, que compacta vídeos utilizando 2 passadas.

Quem mexe com vídeos sabe que se o vídeo for compactado em 2 passadas terá melhor qualidade e menor tamanho.

Como funciona o script:

1) Você clica no seu vídeo com o botão da direita sobre um filme e escolhe script->compactar-video

2) Após algum tempo, aparecerá o filme video320x240.avi na mesma pasta do vídeo original, já compactado. Basta renomeá-lo como desejar. Simples assim!  8)

Como instalar
:

Na pasta ~/.gnome2/nautilus-scripts crie um arquivo texto (e dê permissão para ser executado) com o nome compactar-video.sh contendo o seguinte:

mencoder -ovc xvid -xvidencopts bitrate=700:me_quality=4:trellis:chroma_opt:vhq=4: pass=1 -oac mp3lame -lameopts vbr=3 $NAUTILUS_SCRIPT_SELECTED_URIS -vf scale=320:240 -o /dev/null

mencoder -ovc xvid -xvidencopts bitrate=700:me_quality=4:trellis:chroma_opt:vhq=4: pass=2 -oac mp3lame -lameopts vbr=3 $NAUTILUS_SCRIPT_SELECTED_URIS -vf scale=320:240 -o video320x240.avi

rm divx2pass.log


Tá feito!  ::)

Atenção: quem tiver alguma dica de parâmetro de compactação para melhorar a qualidade do filme a ser gerado, por favor desembuche! Aceito sugestões!

Fui!
Ezcreve herrado é coiza de quem uza o IE6. Eu uso Firefox com dicionário de português! 8)

Kamei Hyoga

#1
Que tal adicionar uma barra de progresso ou então uma notificação para quando o arquivo estiver finalizado?

Vou testar aqui e se der certo, de mostro como.


------------------------------------

Por algum motivo, seu script não está funcionando aqui

alexcosta67


advi

#3
Oi, kamei.
CitarQue tal adicionar uma barra de progresso ou então uma notificação para quando o arquivo estiver finalizado?
Quando o script é executado, na pasta onde está o filme aparecerá, durante a 1ª passada, o arquivo divx2pass.log que irá aumentando de tamanho. Quando parar de aumentar o tamanho, já acabou a 1ª passada.

Neste momento, na mesma pasta, aparecerá o video320x240.avi que irá aumentando de tamanho enquanto é executada a 2ª passada. Assim que a conversão terminar, o tamanho pára de aumentar e o thumbnail do filme aparece.  ;)
CitarPor algum motivo, seu script não está funcionando aqui
Você tem o Mplayer e o Mencoder instalado? Instalou o w32codecs?
CitarCompacta qualquer formato? Os .MOV também?
Oi, Alex.

O que este script faz é simplesmente executar o Mencoder. O Linux também tem o ffmpeg e o transcode que também fazem essas conversões.

Um bom local para entender como usar o Mencoder é o ConvertendoVideo - Ubuntu Brasil.

Agora respondendo à sua pergunta.

Para converter para mov, instale o ffmpeg e substitua o conteúdo do script acima por:
ffmpeg -i $NAUTILUS_SCRIPT_SELECTED_URIS video.mov

ou

ffmpeg -i $NAUTILUS_SCRIPT_SELECTED_URIS video.mp4

Como funciona o script:

Na página http://ffmpeg.mplayerhq.hu/compat.html encontramos a sintaxe do ffmpeg:

ffmpeg -i <inputfile.ext> <file.mov>

Para fazer o script, basta colocar $NAUTILUS_SCRIPT_SELECTED_URIS como filme a ser convertido. Coloque um nome qualquer como arquivo de saída (neste exemplo, video.mov) e está pronto o script! :D

Kamei: se o script simplesmente não funcionar, você não verá a mensagem de erro.

Para ver a mensagem de erro, copie o script e execute-o em um terminal, substituindo $NAUTILUS_SCRIPT_SELECTED_URIS pelo nome do filme a ser convertido.

Depois digam se deu certo.

Fui!
Ezcreve herrado é coiza de quem uza o IE6. Eu uso Firefox com dicionário de português! 8)

Kamei Hyoga

#4
Executei cada passo em separado. Em ambos é acusado que o parâmetro pass=1(ou o 2) não é encontrado.


MEncoder 2:1.0~rc1-0ubuntu13.1 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) XP 1600+ (Family: 6, Model: 6, Stepping: 2)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
File not found: 'pass=1'
Failed to open pass=1.
Cannot open file/device.


Quando eu tiro o 'pass=x', o vídeo é convertido. Ainda não tentei com seu script isso.

Meu áudio ta muito chiado, com qualquer programa de conversão que uso, mas tenho certeza que foi uma atualização do repositório Medibuntu que me ferrou.

--------------------------------

Tirei tudo do Medibuntu (quase tudo, só deixei uma lib pra tocar DVD encriptado) e instalei tudo novamente, mas do repositório oficial. Sempre que converto com o seu script (usando o mencoder) o video é convertido, mas o áudio é um chiado só!!

Abri o Avidemux e utilizei quase todas os seus parâmetros... o video roda normal, sem chiado.

advi

Citação de: Kamei Hyoga online 19 de Janeiro de 2008, 04:58
Executei cada passo em separado. Em ambos é acusado que o parâmetro pass=1(ou o 2) não é encontrado.
Experimente retirar o espaço em branco entre o : e o pass=1

Citaro video é convertido, mas o áudio é um chiado só!!
Eu li em algum lugar (se bem me lembro, era no manual do devede) que dizia que havia um bug no Mencoder. No meu PC, o som não tem erro.

Então experimente usar o ffmpeg ou o transcode no lugar do mencoder, que pode ser que resolva.

Abraços!
Ezcreve herrado é coiza de quem uza o IE6. Eu uso Firefox com dicionário de português! 8)

Kamei Hyoga

Parece que o meu Mencoder tá ruim mesmo. Vou mudar.

Cara, dei um perfumada no teu script. Dá uma olhada:


#!/bin/bash
mencoder -ovc xvid -xvidencopts bitrate=700:me_quality=4:trellis:chroma_opt:vhq=4:pass=1 -oac mp3lame -lameopts vbr=3 $NAUTILUS_SCRIPT_SELECTED_URIS -vf scale=320:240 -o /dev/null | zenity --title "Compactar-video" --text="Fazendo o primeiro passo da compactação... (Pass1) " --progress --pulsate --auto-close

mencoder -ovc xvid -xvidencopts bitrate=700:me_quality=4:trellis:chroma_opt:vhq=4:pass=2 -oac mp3lame -lameopts vbr=3 $NAUTILUS_SCRIPT_SELECTED_URIS -vf scale=320:240 -o video320x240.avi | zenity --title "Compactar-video" --text="Fazendo o segundo passo da compactação... (Pass2) " --progress --pulsate --auto-close

rm divx2pass.log

zenity --title="Compactar-video" --info --text="Seu vídeo $NAUTILUS_SCRIPT_SELECTED_URIS já foi convertido e compactado!"


Tem que ter o zenity instalado.

Assim a pessoa pode fechar a janela e só acompanhar a barra, que embora fique de um lado para o outro, é um sinal de vida heeh

No final uma janela é mostrada que o arquivo já foi convertido.

allima97

#7
Boa Tarde,

Muito bom a idéia do script.

Estive tentando usá-lo, porém não está convertendo, logo tentei fazer pelo terminal e veja a resposta que ele apresenta :

fulano@fulano:~/Vídeos$ ./compactar-video meuvideo.flv
No file given
No file given

Apresenta a mensagem de convertido, mas não acha o arquivo selecionado

Acho que é algum problema com a variável $NAUTILUS_SCRIPT_SELECTED_URIS...

Alguma susgestão?

Abraços

André Lima

Confirmado é problema com a variável, quando coloco o nome do arquivo diretamente no script funciona maravilha... estou usando o ubuntu 9.10.

advi

Oi.

A intenção do script é não usar a linha de comando. É por isso que não funciona.

Então, como instalá-lo?

No Nautilus, clique em cima de qualquer arquivo com o botão da direita do mouse, escolha script -> Abrir pasta de script

Nesta pasta, crie um arquivo de texto como indicado.


E como utilizá-lo?

Abra o Nautilus na página onde está o vídeo a ser convertido e clique no vídeo com o botão direito do mouse e escolha Script -> Converter. (ou o nome que você deu ao script)

E diga se funcionou.  ;)

Abraços!
Ezcreve herrado é coiza de quem uza o IE6. Eu uso Firefox com dicionário de português! 8)