Olá pessoal,
hoje vou ensinar como converter os vídeos do youtube formato .flv para outros formatos de vídeo(avi, mpeg, etc) usando ffmpeg.
Eu estou usando Debian etch.
Esse post é uma continuação do post anterior "Baixando video youtube firefox".
Primeiro para ver se o formato de vídeo que você quer converter é suportada pelo ffmpeg execute o comando:
/* Listando os formatos suportados */
# ffmpeg -formats
Para converter os vídeos:
/* Convertendo de flv para avi */
# ffmpeg -i /tmp/foo_video.flv /tmp/foo_video.avi
/* Convertendo de flv para mpeg */
# ffmpeg -i /tmp/foo_video.flv /tmp/foo_video.mpeg
Tudo o que tenho e sou é fruto da Graça de Deus para com a minha vida, a Ele toda honra e toda glória.
Wednesday, September 26, 2007
Friday, September 21, 2007
Baixando video youtube firefox
Olá Pessoal,
Hoje vou ensinar como baixar os vídeos do youtube usando firefox.
Na verdade enquanto você está assistindo um vídeo do youtube o firefox já está baixando esse vídeo, tudo que você precisa saber é onde o firefox está baixando-o.
Eu uso uma distribuição debian etch, e no meu caso, o firefox baixa os vídeos no /tmp :
ragner@ragner-laptop:$ ls -lrt /tmp/Flash*
-rw------- 1 ragner ragner 47567 2007-09-21 11:04 FlashKWfKkh /* Primeiro vídeo assistindo. */
...
-rw------- 1 ragner ragner 44672 2007-09-21 11:04 FlashB4rS0 /* Último vídeo assistindo. */
IMPORTANTE: Esses arquivos permanecem no /tmp somente enquanto o vídeo estiver aberto no firefox.
Portanto para "baixar o vídeo do youtube" basta você esperar ele ser totalmente carregado pelo firefox e:
ragner@ragner-laptop:$ ls -lrt /tmp/Flash*
-rw------- 1 ragner ragner 47567 2007-09-21 11:04 FlashKWfKkh /* Meu vídeo. */
ragner@ragner-laptop:~$ file /tmp/FlashKWfKkh /* Para conferir o formato do vídeo. */
/tmp/FlashKWfKkh: Macromedia Flash Video
ragner@ragner-laptop:~$ cp /tmp/FlashKWfKkh /home/ragner/videos_youtube/foo_videos.flv
ragner@ragner-laptop:~$mplayer /home/ragner/videos_youtube/foo_videos.flv
VANTAGEM: menos um plugin consumindo memória. [:P]
God bless you ... [:D]
Hoje vou ensinar como baixar os vídeos do youtube usando firefox.
Na verdade enquanto você está assistindo um vídeo do youtube o firefox já está baixando esse vídeo, tudo que você precisa saber é onde o firefox está baixando-o.
Eu uso uma distribuição debian etch, e no meu caso, o firefox baixa os vídeos no /tmp :
ragner@ragner-laptop:$ ls -lrt /tmp/Flash*
-rw------- 1 ragner ragner 47567 2007-09-21 11:04 FlashKWfKkh /* Primeiro vídeo assistindo. */
...
-rw------- 1 ragner ragner 44672 2007-09-21 11:04 FlashB4rS0 /* Último vídeo assistindo. */
IMPORTANTE: Esses arquivos permanecem no /tmp somente enquanto o vídeo estiver aberto no firefox.
Portanto para "baixar o vídeo do youtube" basta você esperar ele ser totalmente carregado pelo firefox e:
ragner@ragner-laptop:$ ls -lrt /tmp/Flash*
-rw------- 1 ragner ragner 47567 2007-09-21 11:04 FlashKWfKkh /* Meu vídeo. */
ragner@ragner-laptop:~$ file /tmp/FlashKWfKkh /* Para conferir o formato do vídeo. */
/tmp/FlashKWfKkh: Macromedia Flash Video
ragner@ragner-laptop:~$ cp /tmp/FlashKWfKkh /home/ragner/videos_youtube/foo_videos.flv
ragner@ragner-laptop:~$mplayer /home/ragner/videos_youtube/foo_videos.flv
VANTAGEM: menos um plugin consumindo memória. [:P]
God bless you ... [:D]
Marcadores:
dicas
Wednesday, September 19, 2007
Doando sangue no HEMOAM
Olá Pessoal,Ontem eu fui fazer a minha primeira doação de sange no HEMOAM - Fundação de Hematologia e Hemoterapia do Amazonas.
Bem, sinceramente foi bem mais simples do que eu imaginava, foi tudo super tranquilo.
O pessoal lá super atencioso, durante a transfusão você quase não sente nada.
Se alguém como eu sempre teve vontade de fazer a doação, mas teve medo de doer ou alguma outra coisa do tipo, pode ir que você vai se surpreender positivamente.
Acho que o problema maior está na nossa cabeça.
"Doar sangue não custa nada, não dói, é rápido e você se sente bem com essa atitude."
God bless you.
Marcadores:
pessoal
Tuesday, September 18, 2007
Segmentation fault during g_thread_init(NULL);
A possible solution for Segmentation fault during g_thread_init(NULL); is you to change
gthread to gthread-2.0 during your configuration
e.g. AC_CHECK_LIB(gthread-2.0, g_thread_init)
or to use -lgthread-2.0 instead -lgthread as parameter to the compiler.
gthread to gthread-2.0 during your configuration
e.g. AC_CHECK_LIB(gthread-2.0, g_thread_init)
or to use -lgthread-2.0 instead -lgthread as parameter to the compiler.
Marcadores:
GLIB
undefined reference to `g_thread_init'
If you get this error message
"undefined reference to `g_thread_init'"
during the compilation of your code, that use GLib.
Solution 1 - Using configure.in
insert the follow code line in your configure.in
AC_CHECK_LIB(gthread-2.0, g_thread_init)
Solution 2 - Compiler command line
add the parameter
-lgthread-2.0
to the compiler.
"undefined reference to `g_thread_init'"
during the compilation of your code, that use GLib.
Solution 1 - Using configure.in
insert the follow code line in your configure.in
AC_CHECK_LIB(gthread-2.0, g_thread_init)
Solution 2 - Compiler command line
add the parameter
-lgthread-2.0
to the compiler.
Marcadores:
GLIB
Thursday, September 13, 2007
2D Barcode - Código de barra 2D

Olá pessoal,
Hoje vou falar um pouco sobre código de barra em 2D.
Nada aprofundado, pois o objetivo aqui é só fazer você conhecer a tecnologia e apontar um caminho onde você pode encontrar mais informações.
Você pode ver ao lado um código de barra 2D que contém o meu nome como informação, "Ragner Magalhaes".
Para saber um pouco mais sobre isso, "Google é meu amigo ... [:P]", ou aqui http://mobilecodes.nokia.com/index.htm.
Bem eu testei essa tecnologia no meu N80 [:P] e funciona!!
Para saber sobre softwares para celular que reconhecem 2D barcode visite esse link http://mobilecodes.nokia.com/scan.htm eu recomento o "I-nigma reader" - www.i-nigma.com
incluse nesse site tem como você criar os seus próprios códigos 2D http://www.i-nigma.com/personal/Create.asp.
Acho que a idéia é que no futuro os produtos vão vir com esse tipo de código e você vai lá com o seu celular, faz um scan do código, e ler as informações ... [:D]
Ou você pode usar isso para mandar mensagens "secretas" ... :P
Aproveita que pouca gente sabe sobre o assunto ...
Thanks,
God bless you!
References
http://mobilecodes.nokia.com/learn.htm
http://www.i-nigma.com/personal/Default.asp
Marcadores:
celular
Wednesday, August 29, 2007
GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
GLib message error:
---
(process:4016): GLib-GObject-CRITICAL **: gtype.c:2240: initialization assertion failed, use IA__g_type_init() prior to this function
(process:4016): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
A possible resolution for this error is to insert the method "g_type_init()" in your main source code, as below.
----
gint
main (gint argc, gchar *argv[])
{
FooExample *foo;
g_type_init();
foo = g_object_new(FOO_TYPE_EXAMPLE, NULL);
g_message("Great success !!\n");
return 0;
}
---
This example is to a simple GLib code, you will use gtk_init() to a GTK code.
---
(process:4016): GLib-GObject-CRITICAL **: gtype.c:2240: initialization assertion failed, use IA__g_type_init() prior to this function
(process:4016): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
A possible resolution for this error is to insert the method "g_type_init()" in your main source code, as below.
----
gint
main (gint argc, gchar *argv[])
{
FooExample *foo;
g_type_init();
foo = g_object_new(FOO_TYPE_EXAMPLE, NULL);
g_message("Great success !!\n");
return 0;
}
---
This example is to a simple GLib code, you will use gtk_init() to a GTK code.
Marcadores:
GLIB
Friday, August 17, 2007
Debian Day in Manaus
Hi all,Tomorrow, saturday, I am going to do a apresentation about "Installing really Debian dist into a PenDrive".
Portuguese:
Dia-D em Manaus
==============
Neste dia 18 de Agosto será realizado em Manaus, e nas principais cidades do Mundo, o Dia-D.
O evento será realizado nas instalações da UEA, unidade Escola Superior de Tecnologia(antiga UTAM), Av. Darcy Vargas 1200.
O Dia-D é um evento sem fins lucrativos que visa atingir a sociedade, de todas as áreas técnicas e sociais, levando o conhecimento a respeito da comunidade Open Source. Com várias atividades voltado para o tema de Software Livre, Linux e Debian(uma distribuição Linux).
Esse evento tem também um papel social importante, além da integração tecnológica, todo o recurso arrecado, alimento não perecível 2k p/ pessoa, será doado à Instituição Casa Andréa do Amazonas.
E eu vou estar contribuindo também [:D] ... com uma apresentação, ensinando como instalar uma distribuição Debian em em PenDrive ...
Para mais informações sobre o Debian Day em Manaus
http://www.gudam.org
Marcadores:
evento
Tuesday, August 7, 2007
Debian Ad Hoc Wireless Networking
The following example uses eth1 for the wifi interface though this may be wlan0, ath0 or something else in your case.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Reference
https://help.ubuntu.com/community/WifiDocs/Adhoc
Preparation
Ensure that network manager has been stopped and then bring the interface down.
sudo /etc/dbus-1/event.d/25NetworkManager stop
sudo ifdown eth1
Configuration
Switch the card into ad hoc mode
-
sudo iwconfig eth1 mode ad-hoc
Set the channel/frequency that you want to use.
-
sudo iwconfig eth1 channel 11
Add the name (ssid) for the network you want to create/join. Use single quotes if there is a space in the name.
-
sudo iwconfig eth1 essid 'name'
Add a WEP encryption key
-
sudo iwconfig eth1 key 1234567890
Activation
Bring the interface back up
-
sudo ifconfig eth1 up
Start dhclient to get an address
-
sudo dhclient eth1
If you want to do it manually, you will have to make up an IP address.
-
sudo ifconfig eth1 10.0.0.1 netmask 255.255.255.0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Reference
https://help.ubuntu.com/community/WifiDocs/Adhoc
Marcadores:
config
Friday, August 3, 2007
Bison Lisp Grammar
My LP's home work about Lisp syntax parse.
Save it like lisp-grammar.y and run
# bison lisp-grammar.y
it will create the file lisp-grammar.tab.c with the code of the Lisp parse.
So, run ...
# gcc lisp-grammar.y -o parse
--- cut here ---
/*
* lisp-grammar.y - Lisp Grammar
*
* Copyright (C) 2007 Ragner Magalhaes
*
* This program 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; version 2 of the License only.
*/
%{
#define YYSTYPE double
%}
%token NUMBER SYMBOL STRING SHARP_QUOTE
%start input
%%
input : /* empty */
| input line
;
line : '\n'
| s_exp '\n' { printf( "%g\n", $1 ); }
;
s_exp : atom
| list
;
atom : NUMBER
| SYMBOL
| STRING
;
list : '(' ')'
| '(' s_exp_list ')'
| '(' s_exp_list '.' s_exp ')'
| '\'' s_exp
| SHARP_QUOTE s_exp
;
s_exp_list : s_exp
| s_exp_list s_exp
;
%%
#include
#include
main()
{
yyparse();
}
yyerror( char * str )
{
printf( "lisp: PUUUUUU %s\n", str );
}
int yylex( void )
{
int ic;
while (ic = getchar(), ic == ' ' || ic == '\t') { ; }
if (ic == EOF)
return 0;
else if (isalpha(ic))
return STRING;
else if ( isdigit( ic ) )
return NUMBER;
else if ( ic == '\'')
return SHARP_QUOTE;
else switch (ic) {
case '+':
case '-':
case '*':
case '/':
return SYMBOL;
}
return ic;
}
---
Save it like lisp-grammar.y and run
# bison lisp-grammar.y
it will create the file lisp-grammar.tab.c with the code of the Lisp parse.
So, run ...
# gcc lisp-grammar.y -o parse
/*
* lisp-grammar.y - Lisp Grammar
*
* Copyright (C) 2007 Ragner Magalhaes
*
* This program 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; version 2 of the License only.
*/
%{
#define YYSTYPE double
%}
%token NUMBER SYMBOL STRING SHARP_QUOTE
%start input
%%
input : /* empty */
| input line
;
line : '\n'
| s_exp '\n' { printf( "%g\n", $1 ); }
;
s_exp : atom
| list
;
atom : NUMBER
| SYMBOL
| STRING
;
list : '(' ')'
| '(' s_exp_list ')'
| '(' s_exp_list '.' s_exp ')'
| '\'' s_exp
| SHARP_QUOTE s_exp
;
s_exp_list : s_exp
| s_exp_list s_exp
;
%%
#include
#include
main()
{
yyparse();
}
yyerror( char * str )
{
printf( "lisp: PUUUUUU %s\n", str );
}
int yylex( void )
{
int ic;
while (ic = getchar(), ic == ' ' || ic == '\t') { ; }
if (ic == EOF)
return 0;
else if (isalpha(ic))
return STRING;
else if ( isdigit( ic ) )
return NUMBER;
else if ( ic == '\'')
return SHARP_QUOTE;
else switch (ic) {
case '+':
case '-':
case '*':
case '/':
return SYMBOL;
}
return ic;
}
Marcadores:
CODE
Subscribe to:
Posts (Atom)