Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/03/2011, à 14:53

$c0ubid0u

Supprimer l'entete (header) d'un fichier (FLV) avec cURL

Bonjour,

Enfaite je veut enregistrer un flux vidéo FLV. Mais ce flux subit des déconnexion régulière. A la reconnexion de ce flux une nouvelle entête du fichier est créer. Par conséquent quand chaque morceau de fichier sont mis bout a bout, le lecteur vidéo ce stop a la rencontre de la seconde entête

Ma question et donc comment supprimer l'entête d'un fichier FLV a l'aide de cURL ?

Existe t'il un Pied ou Footer pour les fichiers ? si oui cela pourrait il causé le même problème ? et comment le supprimé également ?

Sébastien

Hors ligne

#2 Le 20/03/2011, à 19:22

tooguy66

Re : Supprimer l'entete (header) d'un fichier (FLV) avec cURL

Je suis pas sur d'avoir compris la question....Peut-être est il possible de récupérer le flv dans le fichier temporaire de firefox. Ou d'installer l'addon download video helper sur firefox


Dualboot Windows seven & ubuntu 14.04 64bit
gigabyte M720-US3 athlon II x4 620 6gb ram GeForce 520 1gio

Hors ligne

#3 Le 20/03/2011, à 23:18

$c0ubid0u

Re : Supprimer l'entete (header) d'un fichier (FLV) avec cURL

Les FLV sont déjà télécharger. Le flux provient d'une WebTV qui ce déconnecte régulièrement, du coup avec le script de reconnexion que j'ai fait cela me créer plusieurs fichiers FLV (tv01.flv tv02.flv tv03.flv...) je veut pouvoir assembler tous c'est fichiers dans un nouveaux fichier nommer tvAll.flv

Hors ligne

#4 Le 20/03/2011, à 23:23

f.x0

Re : Supprimer l'entete (header) d'un fichier (FLV) avec cURL

Bonjour $c0ubid0u,

Est-ce que :

mencoder -ovc copy -oac copy -o resultat.flv "1.flv" "2.flv"

donne le résultat que tu attends ?


SOPI

Hors ligne

#5 Le 21/03/2011, à 12:44

$c0ubid0u

Re : Supprimer l'entete (header) d'un fichier (FLV) avec cURL

Oui cela me semble bien, je vais tester ca dans mon script ce soir. Sachant que le but et qu'il n'y est quasiment pas de coupure de reprise entre chaque vidéo car la TV ce stop toute les 14 secondes.
Malheureusement avec les testes effectuer en dehors du script j'obtiens seulement la vidéo, il n'y a plus de son...

Hors ligne

#6 Le 22/03/2011, à 12:34

$c0ubid0u

Re : Supprimer l'entete (header) d'un fichier (FLV) avec cURL

Ca marche très bien !! Mais bon voila j'ai un nouveau problème maintenant hmm mencoder réécrit le fichier du coup quand j'ouvre mon fichier et qu'il est réécrit par mencoder cela me coupe la lecture ><

Voici le code que j'ai pris sur le net est réadapter a mes besoin :
(Attention rien d'optimiser c le gros bordel dans le script pour le moment)

#!/bin/sh
#
# François Boisson 7 Janvier 2006
#
# Enregistrement via VLC avec reprise en cas
# de rupture de flux
#
#
PID_FILE=$3
MODE=$5
OUTFILE=$2
STREAM=$4
TAILLE=0
DELAI=2
DELAIDEBUT=15
i=0

echo $* >> freecorder.log
# on crée le fichier par un touch: ça évite
# une erreur sur le ls après
touch "$OUTFILE"
# on lance la session
case $MODE in
  ogm)
    EXTENSION=".ogm"
    #curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc -vvv - &
    #curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc --vout-filter deinterlace:bob --sout "#transcode{vcodec=mp4v,vb=512,scale=0.75,acodec=vorb,ab=64,channels=2}:std{access=file,mux=ogg,url=$OUTFILE}" -I dummy &
    curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc -vvv --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=udp,mux=ts,dst=127.0.0.1}' & vlc udp://@127.0.0.1:1234 &
    PID_VLC=$!
    ;;
  *)
    EXTENSION=".flv"
    #curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc -vvv - &
        #curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc --vout-filter deinterlace:bob --sout "#std{access=file,mux=ts,url=$OUTFILE}" &
    #curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc -vvv --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=udp,mux=ts,dst=127.0.0.1}' & vlc udp://@127.0.0.1:1234 &
    curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" -o TV.flv

    PID_VLC=$!
esac
date >>  freecorder.log
echo "PID: " $PID_VLC >> freecorder.log
echo $PID_VLC > "$PID_FILE-vlc.pid"

TEMPS=`date +%s`
BUTEE=$[$TEMPS+$1]
echo "deb:" $TEMPS >> freecorder.log
echo "fin:" $BUTEE >> freecorder.log
PBM=1
sleep $DELAIDEBUT
datee=`date +"%s"`
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
#while [ $datee -le $BUTEE ] ; do
while [ 1 = 1 ] ; do
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
# /bin/true
TAILLEP=`ls -l "$OUTFILE" | cut -d ' ' -f 5`
    if [ $TAILLEP -eq $TAILLE ] ; then
        kill $PID_VLC
        wait $PID_VLC
        TAILLE=0
        mv "$OUTFILE" "$OUTFILE-$PBM$EXTENSION"
        echo "mv $OUTFILE $OUTFILE-$PBM$EXTENSION" >> freecorder.log
        PBM=$[$PBM+1]
        echo -n "-" >> freecorder.log
        echo $PID_VLC >> freecorder.log
        touch "$OUTFILE"
        case $MODE in
            ogm)
        curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc -vvv - &
            #vlc $STREAM --vout-filter deinterlace:bob --sout "#transcode{vcodec=mp4v,vb=512,scale=0.75,acodec=vorb,ab=64,channels=2}:std{access=file,mux=ogg,url=$OUTFILE}" -I dummy &
#           vlc $STREAM --filter deinterlace:bob --sout "#transcode{vcodec=mp1v,vb=512,scale=0.75,acodec=mpga,ab=96,channels=2}:std{access=file,mux=ps,url=$OUTFILE}" -I dummy &
            PID_VLC=$!
            ;;
            *)
        #curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" | vlc -vvv - &
            #vlc $STREAM --vout-filter deinterlace:bob --sout "#std{access=file,mux=ts,url=$OUTFILE}" -I dummy &
        i=$(( $i + 1 ))
        curl -H "X-Forwarded-For: 194.230.72.68" "$STREAM" -o TV_$i.flv
        mencoder -ovc copy -oac copy -of lavf -o TV_all.flv TV.flv TV_$i.flv &
        cp TV_all.flv TV.flv &
            PID_VLC=$!
        esac
        date >>  freecorder.log
        echo -n "+" >> freecorder.log
        echo $PID_VLC >> freecorder.log
        echo $PID_VLC > "$PID_FILE-vlc.pid"
        sleep $DELAIDEBUT
    else
        TAILLE=$TAILLEP
        ACTUEL=0
    fi
    sleep $DELAI
done
kill $PID_VLC
wait $PID_VLC
rm "$PID_FILE-vlc.pid"
mv $OUTFILE $OUTFILE-$PBM$EXTENSION
echo "FIN: " `date` >> freecorder.log

Hors ligne