Script para embutir legenda.

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

[ Hits: 13.234 ]

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

Script stop no vncserver

Instalando OCR apps no seu Debian.

Calculador de números primos

Usando variáveis em shell script

Alterando imagem do Grub no Ubuntu 10.04


  

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<thibellini@gmail.com>

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts