Compression zip en ligne automatique

bidzouf -  
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je m'occupe d'un site de podcast composé de deux parties :

- écoute en ligne : je place des fichiers mp3 sur le serveur, que l'on peut lire grâce à un lecteur flash

- téléchargement : je compresse les fichiers mp3 dans un zip, les transfert sur le serveur et je donne aux visiteurs le lien de téléchargement.

J'aurais aimé éviter ce double transfert un peu rébarbatif, je voudrais donc savoir s'il est possible de compresser automatiquement les mp3 en ligne, comme il est possible de le faire sur google docs ou skydrive par exemple (on transfert un fichier mp3, et il est possible de le télécharger au format mp3 ou en zip généré automatiquement)

Merci de votre aide !

A voir également:

2 réponses

haardom Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   20
 
Salut,

il existe une extension php (php_zip) qui permet de généré des zip a la volé,
mais il faut que ton hébergeur l'est activer ou que tu puisse le l'activer toi même (serveur dédié et virtuel)

--------------------------------------------------------------
Flaceliere Brice
Développeur Web Indépendant à La Rochelle
2
bidzouf
 
Merci pour ton aide! En me renseignant sur l'affaire j'ai suivi ce tuto : http://www.phpfrance.com/tutoriaux/index.php/2005/12/29/36-compresser-et-lire-des-fichiers-zip
Je ne connais rien au php donc pour être honnête je n'y ait pas compris grand chose, mais j'ai mis ça sur mon serveur ça marche nickel...pour les petits documents seulement. Pour les mp3 cela m'affiche : Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12929311 bytes) et je sais plus trop quoi faire...
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

Il faut modifier l'option memory_limit dans le php.ini
Si tu es en mutualisé, contacte le support, mais il y a des raisons pour qu'ils refusent.

Essaie également en insérant cette ligne au début du PHP :
ini_set('memory_limit', '128M')
0
bidzouf
 
Salut,
merci pour ton aide,
J'ai inséré ta ligne de code dans le zip.lib mais j'obtiens une autre erreur (Parse error: syntax error, unexpected T_CLASS)
je vais donc essayer de contacter le support pour faire changer le paramétrage du php.ini , on verra bien ... =)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Faut pas oublier le « ; ».
0
bidzouf
 
ah oui d'accord =D
du coup j'ai toujours ce problème de mémoire
Mais j'ai essayé l'astuce sur un autre serveur, et ça a marché ! Par contre j'ai du monter à 512M, ça me parait énorme... surtout que la taille du zip ne dépasse pas les 90Mo
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

La compression ZIP n'a d'intérêt que sur des données non compressées:
- texte des pages HTML
- fichiers de la suite Office, etc...

Un certain type de données sont déja compressées:
- images jpeg
- vidéos avi ou mpeg4
- bandes sons audios ogg ou mp3

La compression des fichiers mp3 en zip n'a aucun intérêt. Pire, cela surcharge le serveur.

A+
0
bidzouf
 
Bonjour,

c'est justement pour ne pas surcharger le serveur que je voudrais que la compression se fasse en ligne en cliquant sur un lien de téléchargement. Car c'est plus pratique de faire télécharger aux gens un zip contenant plusieurs fichiers mp3 que plusieurs mp3 un par un...
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Vous ne gagnerez rien à mettre plusieurs MP3 dans un fichier ZIP. Vous allez surcharger le serveur, car pour 1 MP3 qui intéresse le client final, vous le forcez à en charger plusieurs... Ce n'est pas la bonne stratégie.
0
bidzouf
 
Enfaite il s'agit d'émissions assez longues et en deux parties, pour l'écoute en ligne il est donc plus simple de faire 2 fichiers mp3 séparés qu'un seul gros fichier.
Mais si vous avez d'autres idées que le zip, je suis preneur ;)
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Il s'agit d'écoute en ligne?
Alors le format ogg est plus compact que le mp3.
la balise HTML5 AUDIO accepte le format ogg.

Voir ici:
http://html5doctor.com/native-audio-in-the-browser/

ce code:
<audio controls preload="auto" autobuffer>
<source src="elvis.mp3" />
<source src="elvis.ogg" />
<!-- now include flash fall back -->
</audio>

Vous stockez les fichiers sons sous deux formes: mp3 et une version ogg. Si le client ne reconnait pas les ogg, le serveur lui envoie le mp3. Gain entre ogg et mp3 => 20 à 40%!!!

C'est simple, un morceau de musique 6Mo mp3 sur lecteur compatible ogg peut être réduit à 4,5Mo. Plus efficace que du zip.

En savoir plus sur le format ogg:
https://fr.wikipedia.org/wiki/Ogg

A+
0