Script para embutir legenda.

Publicado por Felipe Otavio Abrahão Zavan 03/05/2009

[ Hits: 12.613 ]

Homepage: twitter.com/felipezavan

Download Legendas.sh




Este script só embuti legendas srt em videos avi. É utilizado o mencoder, portanto tenha-o instalado antes de executar!

Você pode alterar o script, desde que dê os créditos a mim e coloque-o na comunidade vivaolinux.

Utilização:
1 - Renomeie seu video e sua legenda com o mesmo nome e coloque-os na mesma pasta juntos com o script.
2 - Abra o terminal e va até o diretório onde esta o script o video e a legenda (via 'cd').
3 - Execute o script: sh Legendas.sh.
4 - Aguarde, o processo pode demorar um pouco!

  



Esconder código-fonte

#!/bin/bash
#Script criado por Felipe Otavio Abrahão Zavan para a comunidade viva  o linux.
#Você pode altera-lo conforme suas preferências desde que de créditos ao autor e
#coloque-o na comudidade viva o linux.
#www.vivaolinux.com.br
for arq in *.avi
do
nome=`basename $arq .avi`
mencoder $arq -sub $nome.srt -subcp ISO-8859-15 -sub-bg-alpha 200 -subfont-text-scale 3 -subpos 95 -oac mp3lame -lameopts cbr:br=64 -ovc lavc -lavcopts vcodec=msmpeg4:vbitrate=967 -o $nome-legendado.avi
done

Scripts recomendados

Alterar o papel de parede aleatoriamente

Youtube para DVD (Pioneer)

checar status das portas

Estatísticas de tráfego de rede

cpb - Copia arquivos executáveis...


  

Comentários
[1] Comentário enviado por Berike em 30/05/2010 - 09:39h

Quando executo o sh Legendas.sh, aparece a seguinte mensagem: Legendas.sh: 10: mencoder: not found

[2] Comentário enviado por omestre666 em 14/07/2010 - 15:00h

Dei uma incrementada neste script!
Agora ele converte qualquer formato de vídeo Ex:rmvb,wmv,mkv,flv para (avi) e embute legendas em vídeos avi e abre automaticamente no terminal basta dar dois cliques com o mouse, "mais o ideal é adicioná-lo na pasta .gnome2\nautilus-scripts (Obs: esta pasta fica na HOME/"usuario" e esta oculta, "basta clicar no menu superior Ver e ativar mostrar arquivos ocultos).
Agora fica mais facil basta clicar com o botão direito em cima do vídeo (scripts) e mandar converter " ou adicioná-lo na pasta usr\shere\nautilus-script e abrir o nautilus e ativá-lo "obs para isso tem que estar logado como root".
Adicionei uma escala para aumentar ou diminuir o vídeo basta alterar os valores, "ou caso queira que o vídeo fique com seu tamanho original ou seja sem sofrer alterações , apague esta parte o script (-vf scale=640:480) ou deixe 000:000 que o vídeo não sofrera mudanças.
Outra coisa o formato de tela esta Widescreen 16/9, mais podem ser facilmente alterados Exemplo: onde esta (aspect=16/9) basta alterar para (aspect=4/3) fácil.
Ai vai o script

#!/bin/bash

zenity --title "IMPORTANTE" --info --text "Renomeie seu video e sua legenda com o mesmo nome e coloque-os na mesma pasta(Caso houver legenda)"

for arq in *; do

nome=`basename $arq .avi`
xterm -title "Converte-fixa-Legenda em AVI" -e mencoder $arq -sub $nome.srt -subcp ISO-8859-15 -sub-bg-alpha "0" -subfont-text-scale 2.8 -subpos 95 -ovc xvid -oac mp3lame -xvidencopts bitrate=700:aspect=16/9 -lameopts vbr=2:br=128 -vf scale=000:000 -passlogfile "/tmp/hyperpasslog.log" -ofps 29.97 -srate 44100 -o $nome-legendado.avi

rm divx2pass.log

done

[3] Comentário enviado por danieldhdds em 09/09/2010 - 12:30h

Alô, Alô pessoal que ama liberdade. Estou aqui pra compartilhar com vcs uma modificação básica nesse script, só deixei ele mais rápido, tirei a parte que ele reencoda o audio e o vídeo. Ahh, todos os créditos vão ao criador do script, e não lancei numa outra parte pq ainda estou me acostumando com o site, mas aí em baixo vai o script num todo, basta dar um CRTL+C CRTL+V num novo arquivo .sh e depois é só seguir os passos já trazidos pelo autor do script.

FUI

____________________________________________________________________________________________________
#!/bin/bash
#Méritus: Script criado por Felipe Otavio Abrahão Zavan para a comunidade viva o linux.
# Redesenhado por: DanielDhdds
#Você pode altera-lo conforme suas preferências desde que de créditos ao autor e
#coloque-o na comudidade viva o linux.
#www.vivaolinux.com.br
for arq in *.avi
do
nome=`basename $arq .avi`
mencoder $arq -sub $nome.srt -subcp ISO-8859-15 -sub-bg-alpha 200 -subfont-text-scale 3 -subpos 95 -oac copy -ovc copy -o $nome-legendado.avi
done
________________________________________________________________________________________________________________

[4] Comentário enviado por danieldhdds em 15/09/2010 - 11:14h

Olá,

Como eu comentei antes, eu modifiquei seu script de modo que não faça reencoder, porém eu tenho um filme que está a 23 fps e o script (redesenhado) não consegue colocar a legenda, entretando seu script com o reencod consegue perfeitamente.

Vc poderia me explicar o pq disso?? Tem algo a ver com o timming da legenda ser num fps diferente???

Imagem do meu erro
http://img838.imageshack.us/img838/52/embutindolegenda.png

[5] Comentário enviado por srpc1979 em 11/10/2010 - 11:21h

Valeu pela dica, mas faltou você falar que o "Legendas.sh" deve ser baixado na mesma pasta do arquivo de vídeo e da legenda.
Outra coisa, esse recurso não é viável para legendas em português que usam acentuação. Fica tudo estranho. Gostaria de saber como resolver isso. Obrigado!!!

[6] Comentário enviado por matheusrosa em 04/11/2010 - 09:01h

srpc1979,

Se o arquivo .srt estiver salvo com a codificação UTF-8, usando esse script você vai ter que mudar pra ISO-8859-1 e vice-versa.

[7] Comentário enviado por matheusrosa em 04/11/2010 - 09:02h

Gostei da idéia do omestre666, vou usar! Obrigado!

[8] Comentário enviado por omestre666 em 09/03/2011 - 07:29h

Este script eu criei para converter qualquer formato de Vídeo "ex:wmv,rmvb,mkv,flv...etc" para (avi) duas passadas.
Alem do mais ele também embute legenda em vídeos (avi).
Obs: este script eu criei para o formato de tela Widescreen 16/9, mais podem ser facilmente alterados Exemplo: onde esta (aspect=16/9) basta alterar para (aspect=4/3) e também as dimensões de tela "tamanho do video" Exemplo estão em (scale=000:000) como está o vídeo não sofre alteração mais podem ser alteradas para Ex:(scale=720:480) ou (scale=640:480) e o bitrate esta em (bitrate=1500) tambem podem ser alterados como desejar.
Ai vai o script

#!/bin/bash

zenity --title "IMPORTANTE" --info --text "Renomeie seu video e sua legenda com o mesmo nome e coloque-os na mesma pasta(Caso houver legenda)"

for arq in *; do

nome=`basename $arq .avi`
xterm -title "Converte-fixa-Legenda em AVI-1pass" -e mencoder $arq -sub $nome.srt -subcp ISO-8859-15 -sub-bg-alpha "0" -subfont-text-scale 2.8 -subpos 95 -ovc xvid -oac mp3lame -xvidencopts bitrate=1500:aspect=16/9:pass=1 -lameopts vbr=2:br=128 -vf scale=000:000 -passlogfile "/tmp/hyperpasslog.log" -ofps 29.97 -srate 44100 -o /dev/null

xterm -title "Converte-fixa-Legenda em AVI-2pass" -e mencoder $arq -sub $nome.srt -subcp ISO-8859-15 -sub-bg-alpha "0" -subfont-text-scale 2.8 -subpos 95 -ovc xvid -oac mp3lame -xvidencopts bitrate=1500:aspect=16/9:pass=2 -lameopts vbr=2:br=128 -vf scale=000:000 -passlogfile "/tmp/hyperpasslog.log" -ofps 29.97 -srate 44100 -o $nome-legendado.avi

rm divx2pass.log

done

[9] Comentário enviado por omestre666 em 09/03/2011 - 08:08h

Mais dois scripts que acho muito util, "não tem nada a ver com conversão de vídeo".
Mais quebra um galhão de vez em quando!
O primeiro e para renomear arquivos em massa
O segundo e para gerar MD5sum quebra um galho para ver se uma (ISO) esta ok.
Obs: os scripts tem que estar na pasta .gnome2\nautilus-scripts (Obs: esta pasta fica na HOME/"usuario" e esta oculta, "basta clicar no menu superior Ver e ativar mostrar arquivos ocultos).

Ai vai script renomear arquivos em massa!

#! /usr/bin/python
# -*- coding: utf-8 -*-
# Requires zenity
# tip - run: $ sudo apt-get install zenity

"""
Copyright (C) 2009-2010 Thiago Bellini<[email protected]>

MassFileRename is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

"""

import os
import re
import sys

pattern = ''
files = []

def makeNewName(oldname, newname, number):
thename = ''
suffix = ''
# This will maintain the extension ex. ".jpg" and turn it lowercase
if oldname.find('.') != -1:
oldnameList = oldname.split('.')
suffix = oldnameList[len(oldnameList)-1].lower()

if suffix != '':
thename = newname + '_' + number + '.' + suffix
else:
thename = newname + '_' + number

return thename


pattern = os.popen('zenity --title "fileRenamer" --entry --text "Enter the Pattern:" --width=320').read().split('\n')[0]
#Exit if no files selected, if no pattern entered or if a '/' was found
if pattern == '':
sys.exit(1)

if pattern.find('/') != -1:
sys.exit(1)

for i in sys.argv[1:]:
files.append(i)

if files == []:
sys.exit(1)

number = 1
lenFiles = len(str(len(files)))
if lenFiles == 1:
#Set default to 2, because "File_01" is better than "File_1" =P
lenFiles = 2
for filee in files:
#Skips folders, symlinks, mountpoints
if os.path.isdir(filee):
pass
elif os.path.islink(filee):
pass
elif os.path.ismount(filee):
pass
else:
oldname = os.path.split(filee)[1]
newname = makeNewName(oldname, pattern, str(number).zfill(lenFiles))
newfile = os.path.join(os.path.split(filee)[0],newname)
#Just a precaution, so you won`t loose data ;D
if filee != newfile:
while os.path.isfile(newfile):
number = number + 1
newname = makeNewName(oldname, pattern, str(number).zfill(lenFiles))
newfile = os.path.join(os.path.split(filee)[0],newname)
if filee == newfile:
break
os.rename(filee,newfile)
number = number + 1


===============================================================
Ai vai o segundo Gerar MD5sum

#!/bin/bash
md5sum -b $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS > /tmp/md5sum
zenity --text-info --title=md5sum \
--filename=/tmp/md5sum --width=300 --height=20
rm /tmp/md5sum
exit 0

[10] Comentário enviado por pedron98 em 03/04/2012 - 11:59h

Tem como tirar uma espécie de tarja meio transparente que fica depois da conversão junto a legenda?

OBS: Depois de embutir ficou perfeito, só não gostei da tarja...obg!

[11] Comentário enviado por edersongs em 15/08/2012 - 06:45h


[10] Comentário enviado por pedron98 em 03/04/2012 - 11:59h:

Tem como tirar uma espécie de tarja meio transparente que fica depois da conversão junto a legenda?

OBS: Depois de embutir ficou perfeito, só não gostei da tarja...obg!


Para tirar a tarja é simples, basta colocar o valor o (zero) em vez de 200 no comando -sub-bg-alpha 200

[12] Comentário enviado por Djalma_Jr em 19/08/2012 - 19:48h

Muito bom esse script véi! Valeu mesmo!

[13] Comentário enviado por Djalma_Jr em 19/08/2012 - 19:50h


[1] Comentário enviado por Berike em 30/05/2010 - 09:39h:

Quando executo o sh Legendas.sh, aparece a seguinte mensagem: Legendas.sh: 10: mencoder: not found


Você precisa instalar o Mencoder

[14] Comentário enviado por mazera em 01/04/2013 - 07:07h

Esse Script deveria deter-se a "embuti legendas srt em vídeos".
Deve-se explicar melhor o significado de cada comando, por exemplo:
o que faz o :
-subcp
-sub-bg-alpha
-subfont-text-scale
-subpos
-oac copy e -ovc copy, quando possível, é mais rápido pois copia sem conversão.

[15] Comentário enviado por S1lv10 em 01/06/2014 - 17:29h

Leia o comentário no cabeçalho do escript antes de usar.
____________________________________________________________________________________

#!/bin/bash

#Script criado por Felipe Otavio Abrahão Zavan para a comunidade viva o linux.
#O script não foi redesenhado só foi acrescentada alguns argumentos portanto os créditos é do altor sitado acima.
# ARGUMENTOS acrescentada por : Silvio Gomes de Lima
# abaixo segue o comentário de cada argumento criado pelo altor e por mim.
#Você pode altera-lo conforme suas preferências desde que de créditos ao autor e
#coloque-o na comunidade viva o linux.
#www.vivaolinux.com.br

#*************[ARGUMENTOS E COMENTÁRIO]***************
# -mencoder = Comando utilizado para codificar os vídeos
# -sub = Especifica diretório da legenda.
# -subcp = Especifica a codificação do arquivo de legenda.
# -subfont-text-scale = Especifica o tamanho da legenda no vídeo.
# -subpos = Especifica em que % da tela a legenda irá aparecer.
# -font = Especifica a fonte da legenda.
# -ass -ass-color = Especifica a cor da fonte pode ser definida em RGB.
# -oac = Especifica o áudio. O valor copy, copia o áudio exatamente como o original.
# -lameopts = Especifica a codificação de áudio
# -ovc = Especifica o codec de vídeo. Neste caso lavc.
# -lavcopts = Especifica taxa de bits constante.
# -o = Especifica o arquivo de saída.
# Para mais informações acesse a documentação do Mplayer no site: http://www.mplayerhq.hu/DOCS/HTML/en/index.html

# OBS: Para listar as fonte do seu sistema use o comando fc-list copie de acordo com a listagem acrescentando apóstrofo
# Ex: 'Fonte : estilo = negrito' 'FreeMono:style=Negrito'


for arq in *.avi
do
nome=`basename $arq .avi`
mencoder $arq -sub $nome.srt -subcp ISO-8859-15 -subfont-text-scale 3 -subpos 97 -font 'Arial:style=Itálico' -ass -ass-color FFFF0000 -oac copy -lameopts cbr:br=64 -ovc lavc -lavcopts vcodec=msmpeg4:vbitrate=967 -o $nome-legendado.avi
done
________________________________________________________________________________
Para fazer o Download do Script clik neste link https://ispqva.by3301.livefilestore.com/y2mzlnG4VcgFbGsO5XtWiY9J370QHCYvjJ0CNlrrpiN9A5ZfpW7yU9OgKe7g...

obs: pode ser editado com qualquer editor de texto


Contribuir com comentário