Instalando o Videocache no Debian Lenny

Como o próprio nome diz, o VideoCache é um programa auxiliar ao proxy, que permite com que os vídeos do Youtube, UOL, Tube8, Xtube e outros possam ser armazenados para que no acesso seguinte sejam enviados diretamente do servidor para o cliente, economizando banda e dinheiro.

[ Hits: 26.994 ]

Por: Júlio Henrique de Oliveira em 31/07/2009


Configuração do VideoCache



VideoCache no Apache

O arquivo de configuração do VideoCache no Apache, deve ter o seguinte conteúdo:

Alias /videocache /videocache
<Directory /videocache>
  Options -Indexes
  Order Allow,Deny
  Allow from all
</Directory>

Após isso deve-se habilitar o site para que o Apache o reconheça:

# a2ensite videocache.conf
# /etc/init.d/apache2 restart


Com isto já deverá ser possível acessar o conteúdo do diretório videocache através do browser. Recomenda-se que a opção Indexes esteja sem o sinal de "-" na frente para que isso seja possível. Contudo, o sinal deve ser recolocado para evitar que se acesse o conteúdo do diretório de forma indesejada.

O arquivo /etc/videocache.conf abriga as configurações gerais do videocache. Alguns de seus parâmetros devem ser alterados:

cache_host = <IP da interface da rede local no servidor>
proxy = http://<IP da interface da rede local no servidor>:3128/
base_dir = /videocache
video_lifetime = 30 (número de dias que o vídeo ficará no cache sem ser acessado)
enable_videocache_cleaner = 0 ou 1 (habilita ou não o videocache a limpar os vídeos não acessados por um determinado tempo)

Alterando o squid.conf

Adiciona-se as linhas abaixo no final do arquivo /etc/squid/squid.conf:

########### VIDEOCACHE ####################
url_rewrite_program /usr/bin/python /usr/share/videocache/videocache.py
url_rewrite_children 7
acl videocache_allow_url url_regex -i \.youtube\.com\/get_video\?
acl videocache_allow_url url_regex -i \.googlevideo\.com\/videoplayback \.googlevideo\.com\/videoplay \.googlevideo\.com\/get_video\?
acl videocache_allow_url url_regex -i \.google\.com\/videoplayback \.google\.com\/videoplay \.google\.com\/get_video\?
acl videocache_allow_url url_regex -i \.google\.[a-z][a-z]\/videoplayback \.google\.[a-z][a-z]\/videoplay \.google\.[a-z][a-z]\/get_video\?
acl videocache_allow_url url_regex -i (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/videoplayback\?
acl videocache_allow_url url_regex -i (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/videoplay\?
acl videocache_allow_url url_regex -i (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/get_video\?
acl videocache_allow_url url_regex -i proxy[a-z0-9\-][a-z0-9][a-z0-9][a-z0-9]?\.dailymotion\.com\/
acl videocache_allow_url url_regex -i vid\.akm\.dailymotion\.com\/
acl videocache_allow_url url_regex -i [a-z0-9][0-9a-z][0-9a-z]?[0-9a-z]?[0-9a-z]?\.xtube\.com\/(.*)flv
acl videocache_allow_url url_regex -i bitcast\.vimeo\.com\/vimeo\/videos\/
acl videocache_allow_url url_regex -i va\.wrzuta\.pl\/wa[0-9][0-9][0-9][0-9]?
acl videocache_allow_url url_regex -i \.files\.youporn\.com\/(.*)\/flv\/
acl videocache_allow_url url_regex -i \.msn\.com\.edgesuite\.net\/(.*)\.flv
acl videocache_allow_url url_regex -i media[a-z0-9]?[a-z0-9]?[a-z0-9]?\.tube8\.com\/ mobile[a-z0-9]?[a-z0-9]?[a-z0-9]?\.tube8\.com\/
acl videocache_allow_url url_regex -i \.mais\.uol\.com\.br\/(.*)\.flv
acl videocache_allow_url url_regex -i \.video[a-z0-9]?[a-z0-9]?\.blip\.tv\/(.*)\.(flv|avi|mov|mp3|m4v|mp4|wmv|rm|ram)
acl videocache_allow_url url_regex -i video\.break\.com\/(.*)\.(flv|mp4)
acl videocache_allow_dom dstdomain .mccont.com dl.redtube.com .cdn.dailymotion.com
acl videocache_deny_url url_regex -i http:\/\/[a-z][a-z]\.youtube\.com http:\/\/www\.youtube\.com
url_rewrite_access deny videocache_deny_url
url_rewrite_access allow videocache_allow_url
url_rewrite_access allow videocache_allow_dom
redirector_bypass on

Por fim, o Squid deve ser reiniciado:

# /etc/init.d/squid restart

Considerações finais

Toda vez que o arquivo /etc/videocache.conf for alterado, necessita-se que o Squid seja reiniciado para que as alterações sejam efetivadas. O VideoCache possui um arquivo de LOG que fica em /var/log/videocache/videocache.conf. Os erros, as páginas que estão sendo "cacheadas" e demais informações podem ser obtidas através de arquivo.

É bom ressaltar que este artigo foi feito baseando-se na distribuição Debian Lenny. Para distribuições padrão Red Hat há no site do VideoCache um pacote RPM já pronto. Contudo, alguns conceitos desse artigo, tal como o local aonde os vídeos serão armazenados e o que se deve alterar podem ser úteis no processo de instalação quando se utiliza RPM.

Espero ter contribuído e me coloco a disposição para qualquer dúvida ou sugestão.

Inté!

Página anterior    

Páginas do artigo
   1. Introdução
   2. Configuração do VideoCache
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Proxy Squid Transparente

Compilação do Squid 3 no Debian Wheezy

Squid 3 como proxy transparente + firewall Iptables

Squid no FreeBSD

Proxy Squid com autenticação + Sarg + Webmin

  
Comentários
[1] Comentário enviado por osmano807 em 01/08/2009 - 10:07h

Mas já corrigiram com as novas modificações do youtube?

[2] Comentário enviado por julioh em 01/08/2009 - 10:53h

Caro Joaquim,

Realmente alguns vídeos do Youtube não estão sendo cacheados. Será que houve alguma mudança recente, tipo uma semana atrás? Vou ver o que dá para fazer e posto aqui.


Abraços,

Júlio

[3] Comentário enviado por laudivan em 01/08/2009 - 19:04h

Beleza, vou testar ele logo logo!

[4] Comentário enviado por julioh em 05/08/2009 - 19:07h

Olá Pessoal,

Muito importante isso que vou postar aqui.

Diante das recentes alterações do Youtube é necessário duas alterações no arquivo /usr/share/videocache/videocache.py:

1) Procurar a linha:

if host.find('.youtube.com') > -1 and path.find('get_video') > -1 and path.find('get_video_info') < 0:

E alterá-la para:
if host.find('.youtube.com') > -1 and path.find('get_video') > -1 or path.find('videoplayback') and path.find('get_video_info') < 0:

2) Procurar as linhas:

if dict.has_key('video_id'):
video_id = dict['video_id']
new_url = submit_video(pid, client, type, url, video_id)
else:
log(format%(pid, client, '-', 'URL_ERROR', type, 'video_id not found in ' + new_url))

E alterar para:

if dict.has_key('video_id'):
video_id = dict['video_id']
new_url = submit_video(pid, client, type, url, video_id)
elif dict.has_key('id'):
video_id = dict['id']
new_url = submit_video(pid, client, type, url, video_id)
else:
log(format%(pid, client, '-', 'URL_ERROR', type, 'video_id not found in ' + new_url))

No arquivo squid.conf incluir no início das ACL's do Videcache:

acl videocache_allow_url url_regex -i \.youtube\.com\/videoplayback


Abraços a todos!


[5] Comentário enviado por sayrus em 18/08/2009 - 10:46h

Júlio obrigado por nos ajudar em primeiro lugar, mas não sei o que fiz de errado,não esta mais navegando depois de altera as linhas que foi pedido,porem o ping funciona contra os sites.Voltei as linhas e ja esta navegando.Deu certo pra alguem ai?

[6] Comentário enviado por julioh em 18/08/2009 - 20:35h

Olá Sayrus,

Eu fiz essas alterações acima. Inicialmente no videocache.py e depois no squid.conf. Está tudo funcionando perfeitamente. Revise as alterações com cuidado e não se esqueça que a linha que deve ser adicionada no squid.conf deve estar junto com as ACLs do Videocache.
Há um link no fórum no VideoCache que pode ter ajudar:

http://cachevideos.com/forum/post/youtubecom-only-request-not-caching-it

Qualquer coisa entre em contato.

Abraços,

Júlio

[7] Comentário enviado por sayrus em 18/08/2009 - 22:47h

Júlio esse é meu primeiro servidor pois sou novo no linux,fiz o que você falou alterando por último o squid.conf,e esta funcionando 100%.Muito Obrigado me ajudou de verdade era só o que faltava pra eu terminar.Valeuuuuuuuuuu

[8] Comentário enviado por hrslinux em 09/10/2009 - 03:53h

NÃO CONSEGUI FAZER O DOWNLOAD DO ARQUIVO VÍDEO CACHE POIS ELE É PAGO
JÁ TENTEI BAIXAR DE OUTRAS FORMAS...
...ATÉ QUE BAIXOU MAIS NÃO DAVA PRA EXTRAIR POIS NÃO TINHA NADA OU ESTAVA DANIFICADA!

SE ALGUEM TIVER ESSE ARQUIVO POR FAVOR ENVIAR PARA O MEU EMAIL -> hrslinux@hotmail.com

[9] Comentário enviado por cytron em 11/05/2010 - 01:48h

Difícil heim!!!! Basta o desenvolvedor perceber que não tem muitos por aí e já vai logo cobrando pelo produto, nada contra, é até direito deles, mas já que vai cobrar... então faz uma coisa que presta, funciona, é claro, mas tem que bater cabeça e algumas coisas nao rolam mesmo. Thundercache é bem melhor, só que mais difícil de fazer funcionar, já a versão 4 está fácil, se instalar no ubuntu mini que o biazus recomenda. Testei, é bom mesmo, grátis com limite de hit, cerca de 100 a 150 clientes. Acima disso tem que pagar, nada mais justo, pois o produto é bom.

Mas cá entre nós, fazer cache de vídeo deveria ser nativo do squid. O que não seria esforço algum para quem criou um proxy tão poderoso.

Quem dera eu tivesse talento pra desenvolver um rewriter desse, se bem que a versão antiga do thunder é em puro php... humm, isso está me dando uma idéia.

[10] Comentário enviado por juliohenrique em 21/05/2010 - 16:44h

Ola Cytron,

Entao concordo com voce que isso deveria ser nativo do Squid, mas ja que nao eh temos que usar as ferramentas que temos.

Qual o seu problema com relacao ao Videocache? Tenho usado ele e naum tenho tido problemas.

Se quiser criar algum fork ou novo projeto, estou a disposicao.

Abracos,

Julio

[11] Comentário enviado por bonanati em 22/11/2010 - 10:28h

Fiz a instalação, quero usar o ThunderCache... como faço para remover o videocache, fiz a instalação com este procedimento acima... obrigado

[12] Comentário enviado por lelezinha em 25/11/2010 - 21:07h

por favor preciso de video aulas como instalar um servidor debian

[13] Comentário enviado por julioh em 26/11/2010 - 09:04h

Olá Bonanati,

Eu acredito que não seja necessário remover o Videocache, basta você retirar as configurações do Videocache do squid.conf. Desta forma, o Videocache irá parar de funcionar e você pode colocar o TC no seu lugar.

Abraço!

[14] Comentário enviado por julioh em 26/11/2010 - 09:05h

Olá lelezinha,


Veja se no Youtube tem algo. Assim de bate-pronto eu não sei te dizer.

Abraço!

[15] Comentário enviado por danillorc em 05/04/2012 - 19:23h

E ái galera, aqui não deu certo, uso o ubunto 8.10, instalei direitin, rodou sem as alterações, mas com as alterações não funfou, fiz tudo certim mas num deu certo, fiz primeiro com a versão 1.9.1 e depois com a 1.9.2 que vi alguem comentando que já a nova atualização do videocache 1.9.2 tinha sido corrigido o problema de não estar mais fazendo cache dos vídeos do youtube, mas também num deu certo não.





Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts