ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Suche | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
|
||||||
David
Nutzer
12.08.2005, 18:57 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung Zitat: Die Library habe ich komplett eigenhändig geschrieben. mit Internet war eigentlich das Aminet gemeint. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
11.08.2005, 20:55 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung Zitat: Soll jetzt keine Eigenwerbung oder so sein, soweit man bei Freeware das sagen. Schau dir mal die id3tag.library und id3tagLibGUI an, zu finden auf meiner Homapage und im Internet. -- mfg David http://www.david-mevius.de [ Dieser Beitrag wurde von David am 11.08.2005 um 20:56 Uhr editiert. ] |
|||||
David
Nutzer
06.08.2005, 00:12 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung @Ralf27: Die Framelänge, meine ich, ist inklusiv Header. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
05.08.2005, 23:43 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung Soweit mir bekannt ist, wurde VBR durch Xing bei mp3 eingeführt worden. Ist somit auch nicht offiziell, soll halt die Qualität bei kleinerer Dateigröße erhöhen. Deshalb gibt den den Xing-Header in dem die durchschnittliche Bitrate steht, würde es diesen nicht geben müsste man tatsächlich von jeden Frame die Bitrate ermitteln, was natürlich zeitaufwendig ist. -- mfg David http://www.david-mevius.de [ Dieser Beitrag wurde von David am 05.08.2005 um 23:45 Uhr editiert. ] |
|||||
David
Nutzer
05.08.2005, 22:35 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung Zitat: son Mist aber auch, glatt übersehen. Zitat: Nur für die Zeit macht es keien Sinn, wie gesagt war nur auf dem Geschmack gekommen. Zitat: ob es einen Unterschied für die Berechnung der Zeit ist ob es Mono oder Stereo müsste ich mal prüfen. Die Zeit berechne ich folgender maßen (es reicht dafür der erste Frame eigentlich aus): ZeitSec=(filesize-id3tagsize)*8/bitrate Aber wie es jetzt mit 5.1 aussieht ist eine gute Frage, da müsste es andere Header geben. Wollte damals (ca. 2000) eigentlich nur ein Programm schreiben womit ich den ID3v2 Tag editieren konnte, weil ich dafür kein Progamm gefunden habe, so ist eigentlich die id3tag.library und id3tagLibGUI entstanden. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
05.08.2005, 21:52 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung @Holger: ein 0xFF und 0xE0 hat schon was für sich. irgendwie bin jetzt auf dem Geschmak gekommen. wir haben unsere Frame AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM wobei (bX unsere Bytes sind) b1 = AAAAAAAA b2 = AAABBCCD b3 = EEEEFFGH b4 = IIJJKLMM für einen gültigen Frame muss folgendes stimmen: IF (b1 AND 255) = 255 AND (b1 AND 224) = 224 THEN 'Version (Bits BB) IF (b2 AND 24) = 0 THEN 'MPEG 2.5 ELSEIF (b2 AND 24) = 16 THEN 'MPEG 2.0 ELSEIF (b2 AND 24) = 24 THEN 'MPEG 1.0 ELSE 'nicht definiert END IF ' Layer (Bits CC) IF (b2 AND 6) = 6 THEN ' Layer 1 IF (b2 AND 6) = 4 THEN ' Layer 2 IF (b2 AND 6) = 2 THEN ' Layer 3 ELSE ' nicht definiert END IF ' Protection bit CRC (Bit D) IF (b2 AND 1) = 1 THEN ' kein CRC ELSE ' CRC END ID Die anderen 2 Bytes werden folgen. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
05.08.2005, 20:55 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung @Ralf27: bei einem Frame sind nur die ersten 11 Bits zur Kennung gesetzt. Quelle: http://www.dv.co.yu/mpgscript/mpeghdr.htm in deinem Code code:müssen die ersten 12 Bits gesetzt seinIF PEEK(buf&+i&)=255 THEN a=PEEK(buf&+i&+1) IF(a AND 240)=240 THEN es müsste so geprüft werden, wenn ich jetzt nicht total falsch liege. code:IF PEEK(buf&+i&)=255 THEN a=PEEK(buf&+i&+1) IF(a AND 224)=224 THEN -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
04.08.2005, 21:29 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung Zitat: habe den Quellcode gefunden, ist in C geschrieben. Die Funktion 'mp3info_getinfo' analysiert eine MPEG-Frame und code:int ExtractI4(unsigned char *buf) { int x; // big endian extract x = buf[0]; x <<= 8; x |= buf[1]; x <<= 8; x |= buf[2]; x <<= 8; x |= buf[3]; return x; } /* VBR definitions */ #define FRAMES_FLAG 0x0001 #define BYTES_FLAG 0x0002 #define TOC_FLAG 0x0004 #define VBR_SCALE_FLAG 0x0008 #define FRAMES_AND_BYTES (FRAMES_FLAG | BYTES_FLAG) int bitraten[2][3][16]= { /* MPEG 2 */ { /* Layer 1 */ {0,32000,64000,96000,128000,160000,192000,224000,256000,288000,32000 0,352000,384000,416000,448000,0}, /* Layer 2 */ {0,32000,48000,56000,64000 ,80000 ,96000 ,112000,128000,160000,192000,224000,256000,320000,384000,0}, /* Layer 3 */ {0,8000 ,16000,24000,32000 ,64000 ,80000 ,56000 ,64000 ,128000,160000,112000,128000,256000,320000,0} }, /* MPEG 1 */ { /* Layer 1 */ {0,32000,64000,96000,128000,160000,192000,224000,256000,288000,32000 0,352000,384000,416000,448000,0}, /* Layer 2 */ {0,32000,48000,56000,64000 ,80000 ,96000 ,112000,128000,160000,192000,224000,256000,320000,384000,0}, /* Layer 3 */ {0,32000,40000,48000,56000 ,64000 ,80000 ,96000 ,112000,128000,160000,192000,224000,256000,320000,0} } }; long frequency[3][4]= { /* MPEG 1 */ {44100,48000,32000,0}, /* MPEG 2 */ {22050,24000,16000,0}, /* MPEG 2.5 */ {11025,12000, 8000,0} }; LONG mp3info_getinfo(UBYTE *head,struct ID3Tag *id3tag,LONG id3v2size) { UBYTE help=0,help1=0; UBYTE *vbr; LONG flength=0; LONG padding; /* Version */ help=4-((head[1]>>3)&0x3); if(help==4) id3tag->norm=ID3TagMPEGA_VERSION_2_5; else if(help==2) id3tag->norm=ID3TagMPEGA_VERSION_2; else if(help==1) id3tag->norm=ID3TagMPEGA_VERSION_1; else { id3tag->norm=0; return 0; } /* Layer */ if(head[1]&2 && head[1]&4) id3tag->layer=1; else if(head[1]&4) id3tag->layer=2; else if(head[1]&2) id3tag->layer=3; else { id3tag->layer=0; return 0; } /* Protection */ id3tag->crc=(head[1]&1)?0:1; /* Bitrate */ help=(head[2]&16)?1:0; help+=(head[2]&32)?2:0; help+=(head[2]&64)?4:0; help+=(head[2]&128)?8:0; id3tag->bitrate=bitraten[(head[1]&8)?1:0][id3tag->layer-1][help]; if(id3tag->bitrate==0) { return 0; } /* Frequency */ help=(head[2]&4)?1:0; help+=(head[2]&8)?2:0; switch(id3tag->norm) { case ID3TagMPEGA_VERSION_1: help1=0; break; case ID3TagMPEGA_VERSION_2: help1=1; break; case ID3TagMPEGA_VERSION_2_5: help1=2; break; default: help1=3; } id3tag->frequency=frequency[help1][help]; if(id3tag->frequency==0) { return 0; } /* Padding */ padding=(head[2]&2)?1:0; /* Private */ id3tag->private_bit=(head[2]&1)?1:0; /* Mode */ id3tag->mode=(head[3]&64)?1:0; id3tag->mode+=(head[3]&128)?2:0; /* Copyright */ id3tag->copyright=(head[3]&8)?1:0; /* Original */ id3tag->original=(head[3]&4)?1:0; /* Emphasis */ id3tag->emphasis=(head[3]&1)?1:0; id3tag->emphasis+=(head[3]&2)?2:0; /* Frame Length */ if(id3tag->layer==1) flength=(12*id3tag->bitrate/id3tag->frequency+padding)*4; else if(id3tag->layer==2 || id3tag->layer==3) flength=144*id3tag->bitrate/id3tag->frequency+padding; /* VBR */ id3tag->vbr=0; if(id3tag->norm&1) { if(id3tag->mode!=3) vbr=&head[32+4]; else vbr=&head[17+4]; } else { if(id3tag->mode!=3) vbr=&head[17+4]; else vbr=&head[9+4]; } if(vbr[0]=='X' && vbr[1]=='i' && vbr[2]=='n' && vbr[3]=='g') { int bytes=0, head_flags, frames=0; vbr+=4; id3tag->vbr=1; head_flags=ExtractI4(vbr); vbr+=4; if(head_flags & FRAMES_FLAG) { frames=ExtractI4(vbr); vbr+=4; } if(head_flags & BYTES_FLAG) { bytes=ExtractI4(vbr); vbr+=4; } if(frames!=0) id3tag->bitrate=(((bytes!=0)?bytes:(id3tag->filesize-id3v2size))/fr ames)*id3tag->frequency/144; } return flength; } -- mfg David http://www.david-mevius.de [ Dieser Beitrag wurde von David am 04.08.2005 um 21:31 Uhr editiert. ] [ Dieser Beitrag wurde von David am 04.08.2005 um 21:32 Uhr editiert. ] |
|||||
David
Nutzer
03.08.2005, 21:33 Uhr [ - Direktlink - ] |
Thema: MP3 VBR Laufzeit berechnen
Brett: Programmierung Hallo, mit VBR hatte ich bei meiner id3tag.library auch meine Probleme. Wenn ich die Sourcen gefunden habe, melde ich mich nochmal. Ich kann erinnern das ich maximal die ersten 4 oder 6 Frames aus gewertet habe. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
10.08.2004, 22:28 Uhr [ - Direktlink - ] |
Thema: Suche CGI-Counter mit Reloadsperre und ohne SSI !
Brett: Programmierung vieleicht sind Session eine Lösung. http://de.php.net/manual/de/ref.session.php oder den Counter nur hochzählen, wenn z.B. nur die index.php aufgerufen wird. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
04.06.2004, 16:56 Uhr [ - Direktlink - ] |
Thema: Netzteilfrage Infinitiv I
Brett: Amiga, AmigaOS 4 Bei mir ging auch vor einiger Zeit das Netzteil defekt. Ich habe ein einfaches AT-Netzteil genommen, es muss nur der Stromanschluss umgebaut werden. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
30.11.2003, 09:59 Uhr [ - Direktlink - ] |
Thema: PHP
Brett: Programmierung die Seiten haben mir immer weiter geholfen: http://www.php.net/manual/de/ http://selfphp4.de/ -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
18.11.2003, 13:34 Uhr [ - Direktlink - ] |
Thema: Suche mp3 ID-Tag Editor
Brett: Amiga, AmigaOS 4 Zitat: das Programm besteht aus zwei Teilen zum einer der Library ftp://de.aminet.net/pub/aminet/util/libs/id3tag_lib.lha und der GUI ftp://de.aminet.net/pub/aminet/mus/edit/id3tagLibGUI.lha hast du beide Archive ? Wenn das nicht der Fehler sein sollte könntes du mir einen Fehler-Report schicken. Danke. -- mfg David http://www.david-mevius.de |
|||||
David
Nutzer
17.11.2003, 21:34 Uhr [ - Direktlink - ] |
Thema: OS 3.5 auf umwegen installieren
Brett: Amiga, AmigaOS 4 Zitat: auf der OS3.5 CD sollte eine Handbuch für AmigaDOS drauf sein. -- mfg David |
|||||
David
Nutzer
17.11.2003, 20:28 Uhr [ - Direktlink - ] |
Thema: OS 3.5 auf umwegen installieren
Brett: Amiga, AmigaOS 4 @ Jinx warum soll das nicht gehen ? man muss ja nicht die Installationsroutine anwerfen, sondern nur die benötigten Dateien nach Sys: kopieren. -- mfg David |
|||||
David
Nutzer
17.11.2003, 19:51 Uhr [ - Direktlink - ] |
Thema: OS 3.5 auf umwegen installieren
Brett: Amiga, AmigaOS 4 sollte gehen, nur CrossDos von 3.1 könnte das Problem werden, wegen der 8.3 Konvention. am besten alles packen (muss ja nicht die ganze cd sein). -- mfg David |
|||||
David
Nutzer
17.11.2003, 19:32 Uhr [ - Direktlink - ] |
Thema: EDO Ram, wieviel MB?
Brett: Amiga, AmigaOS 4 es gibt da eine Möglichkeit um die Größe zubestimmen auf der rechten Seite (bei Pin 72) müssten 4 Brücken sein, ob die überbrückt sind oder nicht lässt sich die Größe bestimmen. Ich weis leider nicht die Kombinationen. -- mfg David |
|||||
David
Nutzer
26.09.2003, 12:51 Uhr [ - Direktlink - ] |
Thema: welcher c compiler für win?
Brett: Programmierung unter Win hatte ich Dev-C++ bisher verwendet, basiert auf dem gcc und bringt eine IDE mit. zu finden unter http://www.bloodshed.net/ -- mfg David |
|||||
David
Nutzer
23.09.2003, 13:02 Uhr [ - Direktlink - ] |
Thema: Kennt sich jemand mit HiSoftC++ aus?
Brett: Programmierung Zitat: HiSoft war (ist) der Vertriebpartner für Maxon. Hisoft C == Maxon C -- mfg David |
|||||
David
Nutzer
01.09.2003, 22:37 Uhr [ - Direktlink - ] |
Thema: Noch 'ne Frage zu SVCD's...
Brett: Amiga, AmigaOS 4 Zitat: 720 x 576 geht auch nennt sich dann nur XSVCD ich weiss nun nicht, ob alle DVD-Player das abspielen können. -- mfg David |
|||||
David
Nutzer
17.08.2003, 18:06 Uhr [ - Direktlink - ] |
Thema: A4000 und WinXP - Verbindung
Brett: Amiga, AmigaOS 4 Hi, mit VNC sollte es gehen. Einen VNC-Server auf auf dem XP Rechner laufen lassen. Einen VNC-Client für Amiga sollte es auch geben, Für den Datentransfer entweder Samba oder FTP. -- mfg David |
|||||
David
Nutzer
07.08.2003, 22:36 Uhr [ - Direktlink - ] |
Thema: IDE Harddisk spinnt
Brett: Amiga, AmigaOS 4 Hi AMike, hast du die HD am internen IDE-Controller angeschlossen ? ich weis nicht wie es beim A4000 ist, aber am A1200 gibt es eine Grenze bei 8GB, meine 20GB Platte konnte ich auch nur mit ca. 8GB einrichten.Am Buddha lief sie dann ohne Probleme. -- mfg David |
|||||
David
Nutzer
30.07.2003, 23:50 Uhr [ - Direktlink - ] |
Thema: Ghostscript8 und Wordworth7
Brett: Amiga, AmigaOS 4 ich glaub WW7 kann nur S/W Postscript Dateien erstellen. Farbdrucke habe ich auch immer über den Normaldruck gemacht. ich habe auch immer lieber mit dem PS-Handle gedruckt, damit ging es schneller, aber leider keine Farbe. -- mfg David |
|||||
David
Nutzer
17.07.2003, 18:43 Uhr [ - Direktlink - ] |
Thema: BPPC+micronik Z2
Brett: Amiga, AmigaOS 4 meine rev. ist 6860 Rev. 5.44 -- mfg David |
|||||
David
Nutzer
17.07.2003, 18:26 Uhr [ - Direktlink - ] |
Thema: BPPC+micronik Z2
Brett: Amiga, AmigaOS 4 habe auch nen 1200er mit BPPC und Z2 (Picasso IV, X-Surf), wenn ich den rechner einschalte bootet er auch nicht, muss immer erst einen reset durchführen, dann staret er ganz normal -- mfg David |
|||||
David
Nutzer
15.07.2003, 20:24 Uhr [ - Direktlink - ] |
Thema: Mehrere Mailserver abrufen mit YAM ?
Brett: Amiga, AmigaOS 4 Zitat: die theoretischen Raten von Modem und ISDN und DSL werden in BPS (Bits pro Sekunde) angegeben. Aber die meisten Programme zeigen ihre Rate halt in CPS Character pro Sekunde) an. also 1 C == 8 B. -- mfg David |
|||||
David
Nutzer
14.07.2003, 20:05 Uhr [ - Direktlink - ] |
Thema: Suche ein LHA-Packprogramm
Brett: Amiga, AmigaOS 4 http://ftp.uni-paderborn.de/aminet/dirs/util_arc.html -- mfg David |
|||||
David
Nutzer
13.06.2003, 10:16 Uhr [ - Direktlink - ] |
Thema: Datensicherung
Brett: Amiga, AmigaOS 4 Zitat: Mit Samba hatte ich auch meine Probleme, habe dann auf einer Seite einen FTP-Server installiert. Damit geht es wunderbar, ist auch recht einfach einzurichten. -- mfg David |
|||||
David
Nutzer
15.05.2003, 21:54 Uhr [ - Direktlink - ] |
Thema: phpbb
Brett: Programmierung vielleicht hilft folgende Seite weiter. http://www.phpbb.de -- mfg David |
|||||
David
Nutzer
04.05.2003, 22:31 Uhr [ - Direktlink - ] |
Thema: Hilfe beim GCC-Compilen unter AmigaOS
Brett: Programmierung Hi, habe mich lange nicht mehr mit den Formatangaben der printf Funktion rumgeschlagen, aber wird für die Ausgabe einer float Variable nicht %f verwendet. -- mfg David |
|||||
|
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |