• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

djthyrax

[PHP]getID3() - The PHP media file parser

22 mensagens neste tópico

Estava eu na wikipedia quando vi esta pérola: http://getid3.sourceforge.net/

getID3() is a PHP script that extracts useful information from MP3s & other multimedia file formats:

    * Tag formats:

          o ID3v1 (v1.0 & v1.1)

          o ID3v2 (v2.2, v2.3 & v2.4)

          o APE tags (v1 & v2)

          o (Ogg) VorbisComment

          o Lyrics3 (v1 & v2)

    * Lossy Audio-only formats:

          o MP3, MP2, MP1 (MPEG-1, layer III/II/I audio, including Fraunhofer, Xing and LAME VBR/CBR headers)

          o Ogg Vorbis

          o Musepack / MPEGplus

          o AAC & MP4

          o AC-3

          o DTS

          o RealAudio

          o VQF

          o Speex

    * Lossless Audio-only formats:

          o WAV (including extended chunks such as BWF and CART)

          o AIFF

          o Monkey's Audio

          o FLAC & OggFLAC

          o LA (Lossless Audio)

          o OptimFROG

          o WavPack

          o TTA

          o LPAC (Lossless Predictive Audio Compressor)

          o Bonk

          o LiteWave

          o Shorten

          o RKAU

          o Apple Lossless Audio Codec

          o RealAudio Lossless

          o CD-audio (*.cda)

          o NeXT/Sun .au

          o Creative .voc

          o AVR (Audio Visual Research)

          o MIDI

    * Audio-Video formats:

          o AVI

          o ASF (ASF, Windows Media Audio, Windows Media Video)

          o MPEG-1 & MPEG-2

          o Quicktime

          o RealVideo

          o NSV (Nullsoft Streaming Video)

    * Graphic formats:

          o JPG

          o PNG

          o GIF

          o BMP (Windows & OS/2)

          o TIFF

          o SWF (Flash)

          o PhotoCD

    * Data formats:

          o ZIP

          o TAR

          o GZIP

          o ISO 9660 (CD-ROM image)

          o SZIP

    * Formats identified, but not parsed:

          o PDF

          o RAR

          o MS Office (.doc, .xls, etc)

getID3() can write:

    * ID3v1 (v1 & v1.1)

    * ID3v2 (v2.3, v2.4)

    * APE (v2)

    * Ogg Vorbis comments

    * FLAC comments

Site oficial: http://getid3.sourceforge.net/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoal... querem fazer uma cena fixe?

Pegamos nisto e escrevemos um software de gestão de musica online todo pipi com um look todo web 2.0 mesmo que não o seja.

Depois começamos a distribuir isso por aí e aproveitamos as instalações e lançamos uma google bomb, tipo aquelas que fazem com que uma pesquisa da palavra "failure" resulte em George W bush.

Buga? O que é que vamos atirar contra o quê? hihihi... já vos estou a ensinar a fazer judiarias eheheheh

BTW, este software é bem cool

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bora lá pedrotuga :D ?

Ainda podemos ganhar umas boas massas com isto se a google nos quiser futuramente comprar como fez ao youtube ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este script faz retrieves de infos de mp3 ??

Como assim ??

Como é que a info está alojada num ficheiro com uma extenção de música ??

Não percebi metade do que vocês "elogiaram" :X

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A informação está dentro dos ficheiros, mp3, ogg, wma, usando formatos tipo ID3.

Abre um ficheiro de mp3 com um editor de hexadecimal e podes ver melhor como isso é feito.

Google -> ID3

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A informação está dentro dos ficheiros, mp3, ogg, wma, usando formatos tipo ID3.

Abre um ficheiro de mp3 com um editor de hexadecimal e podes ver melhor como isso é feito.

Google -> ID3

a metadata que está no ficheiro está guardada em hexadecimal ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A informação está dentro dos ficheiros, mp3, ogg, wma, usando formatos tipo ID3.

Abre um ficheiro de mp3 com um editor de hexadecimal e podes ver melhor como isso é feito.

Google -> ID3

a metadata que está no ficheiro está guardada em hexadecimal ?

? ? ?

Está em ascii ou num encoding de texto qualquer.

Mas podes abrir qualquer ficheiro com um editor de hexadecimal para ver o seu conteudo. No fim de contas todos os ficheiros são uma sequencia de bytes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A informação está dentro dos ficheiros, mp3, ogg, wma, usando formatos tipo ID3.

Abre um ficheiro de mp3 com um editor de hexadecimal e podes ver melhor como isso é feito.

Google -> ID3

a metadata que está no ficheiro está guardada em hexadecimal ?

? ? ?

Está em ascii ou num encoding de texto qualquer.

Mas podes abrir qualquer ficheiro com um editor de hexadecimal para ver o seu conteudo. No fim de contas todos os ficheiros são uma sequencia de bytes.

Pois , mas porquê hexadecimal ?? Se está guardado em bytes, porque é que quando abrimos um ficheiro o que nos mostra é hexadecimal e por exemplo não vemos binário ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Repara Gurzi, toda a informação no computador está guardada em binário.

O problema é que não é nada prático representar informação em binário, daí ter surgido a representação em base 16 (hexadecimal) e base 8 (octal) para facilitar a representação da informação.

A informação é exactamente a mesma, só está representada noutra forma. A metadata está guardada em ASCII que é apenas um standard que diz que a uma certa combinação de bits corresponde um caracter.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

está guardada em ascii ?? ou está guardada em binário e depois com interpretador de ASCCI ele consegue converter de binário para ASCII ??

Como é que consegues guardar algo em ASCII se tudo é feito de 0 e 1 ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lê o post do triton com mais atenção.

A um caracter corresponde um número, que corresponde a um byte ( ou dois ) que corresponde a oito bits. São esses oito bits que estão fisicamente guardados no disco, cd, disquete, etc

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lê o post do triton com mais atenção.

A um caracter corresponde um número, que corresponde a um byte ( ou dois ) que corresponde a oito bits. São esses oito bits que estão fisicamente guardados no disco, cd, disquete, etc

Ok , então afinal eu tenho razão..

Está guardado em bytes mas depois para converter de byte para ASCII ou hexadecimal isso já é o software de Leitura que o faz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em última analise está tudo em binário. Tudo digo mesmo tudo o que é dados guardados ou processados por um computador.

Mas olha para o teu ecrã... não vês imagens e texto? Eu vejo, mas no funco são tudo zeros e uns..

Isto fez-me lembrar o gajo do matrix, eheh.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Er, lol? O que entendes por software de leitura?

lol ? achas piada ? eu não :D se achas, manda-me pm!

Enfim..

Digo Software de Leitura, ou seja, quando abres o notepad sobre um mp3 o notepad transforma o binário em hex ou ascii..

Por exemplo, se aquilo é tudo 0 e 1 como é que o notepad sabe se á de mostrar um caracter ASCII ou simplesmente o valor hex desse caracter?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Er, lol? O que entendes por software de leitura?

lol ? achas piada ? eu não :D se achas, manda-me pm!

Enfim..

Digo Software de Leitura, ou seja, quando abres o notepad sobre um mp3 o notepad transforma o binário em hex ou ascii..

Por exemplo, se aquilo é tudo 0 e 1 como é que o notepad sabe se á de mostrar um caracter ASCII ou simplesmente o valor hex desse caracter?

Acho que fui mal interpretado. Não disse lol no sentido de estar-me a rir, mas ok.

Continuando...

O notepad não te transform bin em hex ou ascii. O notepad lê byte a byte (conjunto de 8 bits, bits esses que são 0 e 1 consuante o que está escrito fisicamente). Um byte poderia ser, por exemplo, 00100001. Isto é a dita representação binária. Podes é mudar a base do número, podendo assim lê-lo mais fácilmente. Ou seja, convertes para decimal (neste caso, 33) ou hexadecimal (21). ASCII não é nada mais nada menos que corresponder estes números a simbolos (neste caso, ao ponto de exclamação).

Ou seja, tu fisicamente tens isto num disco:

- - + - - - - + (- significa carga negativa, + carga positiva)

Passando isto para binário:

00100001 (0 é negativo, 1 é positivo)

Pegando no binário, convertemos para decimal e hexadecimal, respectivamente:

33 e 21

Passando para ASCII:

!

O que o notepad faz é pegar no binário que a API do windows lhe dá, e, usando uma tabela de conversão dec/hex -> simbolos (leia-se, "mapa" de charset), mostra o símbolo correspondente (ASCII). Um editor hexadecimal limita-se a mostrar os valores em hexadecimal. O armazenamento é igual: cargas positivas e negativas. Usando um byte específico, podemos dividir várias secções de um ficheiro (tal como o \n divide as linhas (isto em Linux, porque em Mac é o \r e em windows é \r\n)).

Nota: \n e \r têm representações binárias diferentes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok... parece que já percebeste... mas aqui vai na mesma.

Gurzi, tem calma pa, ninguem te está a chamar burro.

Mau era se não quisesses aprender, o que não é o caso.

Sim... um editor de texto é um  software de leitura de ficheiros em que os bytes são representados segundo  o código ascii. Se usares um editor de hexadecimal então cada byte é representado por dois caracteres hexadecimais.

Porque o hexadecimal? Porque é uma base que é uma potencia de 2 ( 2^4 =16 ) o que significa que 4 simbolos binários são um simbolo hexadecimal. Então dois simbolos hexadecimais são um byte! Que é a unidade de armazenamento minima de um computador ( um computador não consegue armazenar um bit por si só )

Se quiseres ver o conteudo em binario então só tens que abrir um ficheiro com um editor de binário.

Os editores de hexadecimal são mais usados para debugging pois permitem ver o conteudo de uqlauqer ficheiro em detalhe, seja de que tipo for. Os editores de texto são mais indicados para ficheiros de texto. Se tentares abir outro ficheiro, por exemplo um mp3, vão haver bytes que não têm qualquer representação como caracter, logo não consegues ver bem o que está no ficheiro.

Enquanto que a associar cada simbolo hexadecimal a quatro bits é bem mais intuitivo.

Instala um editor de hexadecimal e abre uns ficheiros, uns mp3, uns ficheiros de texto usando encodings diferentes e caracteres extendidos ( cedilhas, acentos, etc ) é a melhor forma de perceberes isto melhor.

O  meu leitor de hexadecimal ( GHex ) apresenta o conteudo do ficheiro em hexadecimal e ao lado em ascii ( só os bytes que correspondem a um caracter ) . Tambem permite ver o valor em binario clicando em cima de um byte.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora