La capture de flux video est très pratique mais il faut travailler la video finale.
Jusqu’à présent les flux qui m’intéressaient étaient SD. C’était assez simple.
- Capture du flux via une clef TNT ou par la freebox
J’utilise pour la clef TNT le script suivant:
#!/bin/sh
if [ ! -z $3 ] ; then
kill `cat /tmp/vlc-$1-$2.pid`
else
if [ -z $1 ] ; then
vlc /home/francois/chainesMA.conf
elif [ -z $2 ] ; then
vlc /home/francois/chainesMA.conf --sout '#duplicate{dst=display,dst=std{access=file,mux=ts,dst='$1'.mpg}}'
else
vlc /home/francois/Tele/$1.conf --sout '#std{access=file,mux=ts,dst='$2'.mpg}' -I dummy &
echo $! > /tmp/vlc-$1-$2.pid
fi
Le répertoire /home/francois/Tele contient
[quote]Tele/ARTE.conf Tele/France2.conf Tele/NRJ12.conf
Tele/ARTEHD.conf Tele/France2HD.conf Tele/NRJParis.conf
Tele/BFMBusinessParis.conf Tele/France3.conf Tele/NT1.conf
Tele/BFMTV.conf Tele/France4.conf …[/quote]
Ces fichiers ont été crée à partir de la commande
$ scan fr-All > DVB.conf
où fr-All est le fichier http://boisson.homeip.net/fr-All et scan vient du paquet dvb-apps.
Il suffit ensuite d’isoler les lignes du fichiers DVB.conf dans le fichier correspondant, ça peut se fait par la commande
(et flute pour les chasseurs de cat, je me fous des 3ms secondes perdues!). Attention, l’enodage peut poser pbm (avec France Ô par exemple).
Les commandes
$ tele France2 test
[attendre]
$ tele France2 test stop
créent un fichier test.mpg contenant le flux France2. Couplées avec at, ça permet d’avoir un magnétoscope pratique:
[code]$ at 20:40 +1day
tele TF1 Pirate
^D
$ at 23:59 +1day
tele TF1 Pirate stop
^D[/code]
enregistrera Pirates des Caraïbes sur TF1 le plus légalement du monde!
- Bon, ensuite il faut couper les pubs. avidemux et autre ne marchent pas. Seuls dvbcut arrive à faire cela sans introduire un décalage sont video:
Lancer dvbcut test.mpg et l’indexation. Coupez les pubs en insérant des start/stop délimitant les morceaux de video à conserver et exportez la video. Il suffit ensuite d’encoder la video. J’utilise pour cela mencoder et un script perso (http://boisson.homeip.net/Encode)
Typiquement
Ça crée une video de 700M de 640x496 respectant l’aspect (4/3 ou 16/9).
Ça crée une video de 700M conservant le format et l’aspect et désentrelaçant la video.
$ Encode test-sans-pub.mpg Garde Bvid 850 Passe 1
encode avec un taux de 850kbits/s, etc.
Lancez Encode sans arguments pour une aide sommaire des options.
Bon, mais ça ça coince avec la haute définition. Ma petite clef TNT enregistre le flux HD. Il me suffit donc de faire
[code]$ at 20:40 +1day
tele TF1HD Pirate
^D
$ at 23:59 +1day
tele TF1HD Pirate stop
^D[/code]
pour avoir le flux haute définition. On obtiendra un fichier d’environ 2-3G de l’heure donc assez gros (ici 10G en gros je pense). Mais il y aura les pubs.
avidemux, dvbcut, mencoder, … refusent toutes manipulation. J’ai essayé kdenlive et ai failli ne pas m’en remettre (il faut cliquer mais où? un clic dure 5s avant réaction! etc). La méthode suivante semble marcher:
- Encodage du flux avec ffmpeg
- Suppression des pubs sur le flux encodé avec avidemux.
Je compte donc faire les commandes suivantes:
$ ffmpeg -i Pirate.mpg -y -s 1920x1080 -threads 4 -vcodec mpeg4 -vb 7500000 -deinterlace -acodec ac3 -ab 128000 Pirates.avi
$ avidemux Pirates.avi
Mes essais montrent que avidemux accepte l’édition et un enregistrement avec copie des flux audio et video fonctionne et est rapide.
À suivre donc quand Pirates des Caraïbes sera passé (tant qu’à faire de faire de la HD, autant le faire sur du grand guignol spectaculaire!, regardez plutôt #Il était une fois dans l’Ouest" en simple définition sur France4)