#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 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