Bonjour à tous,
Je suis à la recherche d'un logiciel ou éventuellement de tutos ou des scripts permettant de découper un flux en fichiers de 5min par exemple.
Pour info, je résume le contexte : je suis admin d'une petite radio locale et je suis en train de mettre en place un système de diffusion sur internet via vlc. L'idée est de pouvoir réécouter n'importe quel moment de la journé en podcast d'où l'idée de découper le flux ogg provenant de la radio en fichier de 5min par exemple, ainsi pour écouter une émission de demi-heure, je créé une playlist avec 6 fichiers de 5min.
# Non testés par manque de temps...
Posté par Gyro Gearllose . Évalué à 3.
mp3split qui semble supporter l'ogg-vorbis
http://mp3splt.sourceforge.net/mp3splt_page/news.php
Sinon, j'ai retrouvé des traces d'un projet nommé oggsplit, mais pas moyen d'en télécharger quoi que ce soit. Dans certains cas, ce sont des pages qui n'existent plus, dans d'autres, ce sont des liens vers des pages qui me sont interdites par DansGuardian.
Bonne chance si tu trouves des liens qui fonctionnent chez toi....
En espérant que ces pistes te seront quand même utiles.
[^] # Re: Non testés par manque de temps...
Posté par qwantix . Évalué à 2.
Le prob c'est que ces logiciels travaillent sur des fichiers physique et pas sur des flux...
En gros le truc c'est de dire à l'appli, ecoute ce flux et toutes les 5min enregistre le dans un fichier different
C'est sur qu'il y aurait la solution de dire, je fait un script qui me lance et me ferme vlc toutes les x secondes et à chaque instance je créé un nouveau fichier... mais bon je suis pas convaincu de cette technique lol.
Mais je sens que si je trouve pas, je vais me lancer dans du code et me le faire.. mais bon, si on pouvait éviter... :)
# Avec ffmpeg
Posté par zebra3 . Évalué à 2.
Donc je ferais en sorte qu'il encode cinq minutes du flux, et qu'au bout de ces cinq minutes, il reprenne à l'aide d'une boucle, en incrémentant le nom du fichier.
Ça donnerait :
i=0
while true
do
i=$(($i+1))
ffmpeg -i "flux" -ss 00:05:00 -abitrate "le bitrate voulu" "fichier-$i.ogg"
done
Bon, c'est qu'un début, mais je partirais de là.
Par contre, je ne sais pas si FFmpeg est capable de lire un flux radio.
PS : comment on tape du code dans un commentaire ?
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Avec ffmpeg
Posté par qwantix . Évalué à 1.
Merci pour la piste..je me renseignerai pour ffmpeg et le stream..
Pour l'instant je me bouffe de la super doc de vlc pour reprendre les libs et m'en faire une petite appli.. je m'éclate :-/
ça pourrait être interessant de se lancer dans un projet de logiciel de podcast libre pour les radio... mais bon faudrai que je finissent mes 4 ou 5 projets en cours dabord.. lool
[^] # Re: Avec ffmpeg
Posté par zebra3 . Évalué à 2.
-ss c'est pour définir la position de départ de l'encodage.
Du coup, y'a moyen de faire autrement : tu enregistres le flux en continu dans un fichier et toutes les cinq minutes, tu extrais avec ces options en prenant comme position de début celle de la fin de l'extrait précédent.
Avec ça tu ne perds rien.
Un début :
i=0
position=0
while true
do
sleep 300
i=$((i+1))
ffmpeg -i "fichier_flux.ogg" -acodec copy -t 300 -ss $position "fichier${i}.ogg"
position=$((position+300))
done
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Avec ffmpeg
Posté par Pascal . Évalué à 1.
Il faut donc trouver une solution à un moement donné pour arrêter le massacre et repartir sur un fichier de flux neuf.
[^] # Re: Avec ffmpeg
Posté par qwantix . Évalué à 1.
[^] # Re: Avec ffmpeg
Posté par zebra3 . Évalué à 2.
C'est vrai aussi que le fichier grandit indéfiniment, je n'y avais pas pensé. Ta radio tourne 24h sur 24h ? Si ce n'est pas le cas, il suffit de le purger à la fin des émissions (après avoir découpé le flux en morceaux de cinq minutes) et de reprendre plus tard.
Mais si ça tourne en continu, faut trouver autre chose : par exemple, au bout d'un certain laps de temps, l'enregistrement continue sur un second fichier, ce qui libère le premier et permet de le purger. Pour ne rien perdre, tu enregistres le flux sur les deux fichiers pendant quelques secondes, puis tu arrêtes le premier.
Au bout du même laps de temps, tu reviens sur le premier et purge le second, et ainsi de suite.
Faudra aussi adapter le script pour qu'il découpe le bon fichier en cours.
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Avec ffmpeg
Posté par qwantix . Évalué à 1.
De mon coté, j'ai reussi a bien dompter le ffmpeg, sauf que problème, il ne connait pas le format ogg... et personnellement je l'aurait en travers de diffusé en wma ou en asf, je me suis depuis peu sortie du monde du propriétaire, c'est pas pour m'y replonger dedans...
Bon pour gérér mon truc, j'ai plusieurs solution :
Premièrement, je créé du fichier de 5 min que je supprime toutes les semaines en ne gardants que les émissions.
Deuxièment je n'enregistre que les emissions.
La deuxième est la plus simple, mais la seconde me permettrait durant une semaine d'écouter la radio en différé voire meême écouter un émission du début alors que ça ne fait que 15min qu'elle vient de commencer, mais pour l'ecoute de diffusion en différé de quelque minutes, si on peut faire de la lecture et de l'écriture en même temps, je pense que je vais pas m'embeter et que je prendrait la seconde solution..
puis je vérais l'autre plus tard..
Par contre je rappelle, pas de format ogg avec ffmpeg, que me conseillez-vous comme autre formats?
[^] # Re: Avec ffmpeg
Posté par zebra3 . Évalué à 2.
Sinon, tu peux essayer mencoder à la place de ffmpeg, qui gère normalement le format ogg et qui est un peu différent à utiliser :
mencoder input -oac copy -ss position_début -endpos position_fin -o output
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.