Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2367 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Fichiers

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fichiers

n°1915680
ProGrammeH​eure
Posté le 17-08-2009 à 12:04:32  profilanswer
 

Bonjour,
 
Newbies :ange: , cherche à savoir comment faire pour créer un fichier d'une taille fixe de 1Go (8Gb, je ne sait même pas si c'est possible de créer un tel fichier aux vues de certains commentaires lus)
c'est pour bufferiser 1heure de video format mpeg2 et poser dessus un pointeur d'ecriture différent pointeur de lecture.
 
je cherche en fait à faire de la TV avec IGMP (oui c'est dejà moi les autres questions à la con postées sur le forum  :p ) et il faut que je stoque sur un serveur 1heure de chaque chaine.
est ce que quelqu'un pourrait m'aider, m'orrienter, j'avoue etre un peu perdu  :sarcastic:  
 
d'avance merci :)  


---------------
De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent.
mood
Publicité
Posté le 17-08-2009 à 12:04:32  profilanswer
 

n°1915698
Elmoricq
Modérateur
Posté le 17-08-2009 à 12:59:26  profilanswer
 

Pourquoi ce serait impossible ?
La limite c'est 4Go sur un système 32bits, et bien plus pour un système 64bits (16To je crois).

n°1915707
Taz
bisounours-codeur
Posté le 17-08-2009 à 13:17:42  profilanswer
 

ON parle de fichier, pas de mémoire ici. Selon ton système de fichiers, tu peux certainement aller au moins jusqu'à 16Go par fichier.
 
sinon vlc ?

n°1915718
ProGrammeH​eure
Posté le 17-08-2009 à 13:49:48  profilanswer
 

merci, deja ça me rassure pas mal. :)
 
En fait j'aimerai faire un fichier buffer qui collecte les données en provenance d'une carte TV ou autre flux video.
ce fichier doit correspondre à 1Heure de video, donc en mpeg2 ça tourne entre 700mo et 1go environ.
par consequent j'aimerai faire un fichier de taille fixe 1Go (une sorte de gros buffer circulaire) avec un pointeur qui va me servir à ecrire les données venat de la carte TV et un pointeur de lecture qui renvoie les données vers le réseau...
 
j'ai deja trouver les fonction permettant de créer le fichier (fopen), de le fermer (fclose), de se deplacer dans ce fichier (fseek), mais je n'ai pas trouver comment on pouvait fixer la taille de ce dernier.

n°1915721
ProGrammeH​eure
Posté le 17-08-2009 à 14:00:52  profilanswer
 

Taz a écrit :


sinon vlc ?


 c'est à dire ? :??:  
c'est vrai que vlc c'est vraiment une bête, et il gererait IGMP :
http://www.videolan.org/vlc/features.php?cat=misc
mais je pense qu'il ne le gère qu'en tant que client, moi je voudrais plutot me concentrer sur le serveur.
de plus je ne pense pas qu'il buffurise 1H de données.
mais l'idée est bonne et je vais aller voir le code (Gpl), merci je n'y avait pas pensé :)


---------------
De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent.
n°1915723
Taz
bisounours-codeur
Posté le 17-08-2009 à 14:03:15  profilanswer
 

Non vlc a intégré depuis longtemps la couche VLS, donc serveur sans problème.

n°1915895
ProGrammeH​eure
Posté le 17-08-2009 à 16:49:12  profilanswer
 

personne ne sait pour créer un fichier de taille fixe ?

n°1915897
ptitchep
Posté le 17-08-2009 à 16:53:18  profilanswer
 

ProGrammeHeure a écrit :

personne ne sait pour créer un fichier de taille fixe ?


Je dirais que c'est à toi de te démerderdébrouiller pour gérer la taille de ton fichier.


---------------
deluser --remove-home ptitchep
n°1915922
ProGrammeH​eure
Posté le 17-08-2009 à 17:34:31  profilanswer
 

donc si je veux un fichier de 1Go il faut tout d'abords que j'ecrive 1Go de données sur ce fichier, alors seulement il fera 1Go?!
enfin seulement si j'ai bien compris.

n°1915927
tpierron
Posté le 17-08-2009 à 17:46:28  profilanswer
 

Tu peux aussi utiliser fseek sur un fichier stdio avec un SEEK_SET au dela de la taille physique du fichier, puis écrire un octet à la fin. Ton fichier aura une la taille demandé juste en écrivant cet octet.
 
Cela dit, ça n'a un intérêt que pour le mappage de fichier en mémoire (mmap), si c'est pour réserver une taille sur le disque, il faudra effectivement écrire les 1Go de données dans le fichier, car avec la première méthode tu auras un fichier à trou : à l'affichage ton gestionnaire de fichier affichera 1Go, mais sur le disque il n'occupera que quelques Ko.

mood
Publicité
Posté le 17-08-2009 à 17:46:28  profilanswer
 

n°1915934
ProGrammeH​eure
Posté le 17-08-2009 à 18:08:39  profilanswer
 

mon but final est de faire un buffer circulaire de 1go.
ça pourrait etre typiquement un film, ou une source TV (provenance DBV flux H262: mpeg2 )stoké dans ce gros buffer.
donc si je fait un  
statu = fseek (MonFichier, 1000000000 ,SEEK_SET);
ce serait bon ?! serait-ce approprié?

n°1919919
ProGrammeH​eure
Posté le 31-08-2009 à 14:35:47  profilanswer
 


personne pour me confirmer?

n°1919931
Taz
bisounours-codeur
Posté le 31-08-2009 à 15:00:28  profilanswer
 

ProGrammeHeure a écrit :

mon but final est de faire un buffer circulaire de 1go.
ça pourrait etre typiquement un film, ou une source TV (provenance DBV flux H262: mpeg2 )stoké dans ce gros buffer.
donc si je fait un  
statu = fseek (MonFichier, 1000000000 ,SEEK_SET);
ce serait bon ?! serait-ce approprié?


Là ça va certainement faire un fichier à trou en fonction de ton OS.
Si tu veux créer un fichier et bien l'allouer, écris des 0 dedans et voilà.

n°1919934
ProGrammeH​eure
Posté le 31-08-2009 à 15:06:33  profilanswer
 

merci pour la reponse
 
si je n'alloue pas ces fichiers ( car c'est tout de même un peut long de remplir 1Go de 0 je pense),  
et que je créer plusieur fichier de ce type à la suite, exemple:
statu = fseek (MonFichier1, 1000000000 ,SEEK_SET);
statu = fseek (MonFichier2, 1000000000 ,SEEK_SET);
...
statu = fseek (MonFichierN, 1000000000 ,SEEK_SET);
et que je les remplit plus tard progessivement jusqu'à 1Go est ce que cela peut poser des problèmes?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Fichiers

 

Sujets relatifs
[VBS] Comparaison de dates (résolu)Aide script concaténation intelligente sur deux fichiers
[MySQL] Taille des fichiers temporaires d'une requête[VB.NET] Lister les sous repertoires et les fichiers d'un repertoire
[Shell/Batch] Renommer des fichiersSupprimer un bout de code dans des fichiers
Sélectionner plusieurs fichiers du même dossierLister fichiers sur répertoire racine uniquement
zipper des fichiers[RESOLU] [Batch] Trouver un mot dans plusieurs fichiers
Plus de sujets relatifs à : Fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR