Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Captvty : accès aux directs et au rattrapage des chaînes de télévision

Le logiciel gratuit Captvty, développé pour Windows, permet de regarder la TV en direct ou de récupérer les programmes TV depuis le rattrapage («replay») proposé par certaines chaînes de télévision (les émissions restent accessibles pendant une à plusieurs semaines après leur diffusion à l’antenne).

Captvty est un outil légal eu égard aux législations française et européenne. Il interroge les sites Web des chaînes et propose une liste des vidéos qui sont en libre accès sur ces sites, exactement comme le ferait n’importe quel navigateur.

L’utilisateur qui choisit de visionner ou télécharger une vidéo se connecte au site de la chaîne sélectionnée et télécharge le fichier correspondant sur son ordinateur, en suivant le lien d’accès proposé par le site.

Pré-requis

Installation sous Ubuntu

Le plus simple est d'utiliser le script bash de la version voulue (v2 ou v3) sur le site https://framagit.org/Paullux/captvty-script-installateur-pour-ubuntu.

Pour la v2, corriger le script en mettant en commentaires les lignes

#wget http://captvty.fr/getflash -O fplayer.exe
#wine fplayer.exe -install -au 2

concernant flash player qui n'est plus utile car abandonné.

Les scripts installent wine et configurent des prefixes Wine pour faire tourner la version choisie.

  • Pour la V3, le script installe WineHQ Staging sur un dépôt tiers
  • La V2 est pleinement fonctionnelle avec la version de Wine des dépôts d'Ubuntu.

Le logiciel s'installe dans le dossier utilisateur : si vous voulez l'utiliser pour tous les utilisateurs de votre système, il faut l'exécuter sur chaque session.

Les scripts créent des raccourcis dans le menu ; vous pouvez avoir les deux versions en parallèle.

Les scripts génèrent les paramètres suivants :

  • lecteur vlc (version wine) comme lecteur de média par défaut pour le visionnage de la tv
  • enregistrement des vidéos dans le dossier ~/Vidéos/Captvty ou ~/Vidéos/Captvty_V3 selon la version.

Pour mettre à jour le logiciel, ré-exécutez le script : le logiciel sera automatiquement mis à jour.

  1. installation de Captvty V2 (stable) :

    ...@...:~ $ wget https://framagit.org/Paullux/captvty-script-installateur-pour-ubuntu/raw/master/CaptvtyV2.sh
    ...@...:~ $ chmod +x CaptvtyV2.sh
    ...@...:~ $ ./CaptvtyV2.sh

    CaptvtyV2.sh
    #!/bin/bash
     
    #Installation des paquets nécessaires
    sudo apt install -y wine32 wine-stable winetricks
     
    #Création du prefix wine pour Captvty
    export WINEPREFIX="$HOME/.wine_captvty"
    export WINEARCH=win32
     
    #Ajout sur le prefix des éléments nécessaires à Captvty
    winetricks -q dotnet40 fontsmooth=rgb ie8 vlc
    wget http://captvty.fr/getgdiplus -O kb975337.exe
    wine kb975337.exe /x:kb975337 /q
    cp "kb975337/asms/10/msft/windows/gdiplus/gdiplus.dll" "$HOME/.wine_captvty/drive_c/windows/system32"
    wine reg add HKCU\\Software\\Wine\\DllOverrides /v gdiplus /d native,builtin /f
    #wget http://captvty.fr/getflash -O fplayer.exe
    #wine fplayer.exe -install -au 2
     
    #Remise à zéro du dossier où est contenu les fichiers du logiciel (en cas de mise à jour)
    test -d "$HOME/.captvty" && rm -rf "$HOME/.captvty"
    #(Re-)Création du dossier pour le logiciel
    mkdir "$HOME/.captvty"
     
    #Récupération du programme proprement dit
    adresse=$(wget -q -O- 'http://captvty.fr' | sed -n 's/.*href="\(\/\/.\+\.zip\).*/http:\1/p')
    test -n "$adresse" && wget -qO /tmp/Captvty.zip "$adresse"
    if test -n /tmp/Captvty.zip
    then
       unzip -d "$HOME/.captvty/" /tmp/Captvty.zip &&  rm /tmp/Captvty.zip
    fi
     
    #Effacement des fichiers qui ne sont plus nécessaire
    rm -Rf kb975337.exe fplayer.exe kb975337/ 
    #Récupération de l'icône
    test -d "$HOME/.icons" || mkdir "$HOME/.icons"
    wget "https://framagit.org/Paullux/captvty-script-installateur-pour-ubuntu/raw/master/captvty-logo.png" -O "$HOME/.icons/captvty-logo.png"
     
    #Création des préférences de Captvty, iconv sert pour la conversion des caractères accentués linux vers windows (Captvty étant un programme windows)
    cat << FIN > "$HOME/.captvty/captvty1.ini"
    [General]
    SkuPriority=1
    DownloadDir=Z:\\home\\$USER\\Vidéos\\Captvty
    Metrics=0:510:222:900:589
    [Players]
    0=C:\\Program Files\\VideoLAN\\VLC\\vlc.exe
    1=Builtin
    2=Website
    FIN
    iconv -f UTF-8 -t ISO-8859-1 "$HOME/.captvty/captvty1.ini" > "$HOME/.captvty/captvty.ini"
    rm -f "$HOME/.captvty/captvty1.ini"
     
    #Création du fichier desktop pour avoir un raccourci du logiciel dans le menu
    test -d "$HOME/.local/share/applications" || mkdir "$HOME/.local/share/applications"
    cat << FIN > "$HOME/.local/share/applications/Captvty.desktop"
    [Desktop Entry]
    Comment[fr_FR]=
    Comment=
    Exec=env WINEPREFIX="$HOME/.wine_captvty" wine $HOME/.captvty/Captvty.exe
    GenericName[fr_FR]=Regarder et enregistrer la tv
    GenericName=Regarder et enregistrer la tv
    Icon=$HOME/.icons/captvty-logo.png
    MimeType=
    Name[fr_FR]=Captvty
    Name=Captvty
    Path=$HOME
    StartupNotify=true
    Terminal=false
    TerminalOptions=
    Type=Application
    X-DBUS-ServiceName=
    X-DBUS-StartupType=
    X-KDE-SubstituteUID=false
    X-KDE-Username=
    FIN

  2. installation de Captvty V3 (alpha) :

    ...@...:~ $ wget https://framagit.org/Paullux/captvty-script-installateur-pour-ubuntu/raw/master/CaptvtyV3.sh
    ...@...:~ $ chmod +x CaptvtyV3.sh
    ...@...:~ $ ./CaptvtyV3.sh

    Décochez la mise à jour automatique de VLC. (sinon il serait impossible de regarder le direct et les vidéos de rattrapage sans les télécharger complètement)

    CaptvtyV3.sh
    #!/bin/bash
    
    #Choix de la version de Wine et installation des paquets nécessaires selon le choix 
    VersionWine=$(whiptail --title "Version de Wine" --radiolist \
    "Choix de la version de wine ?" 15 106 3 \
    "Version hq" "Nécessite l'ajout d'un dépôt tiers (meilleurs performance)" ON \
    "Version des dépots d'Ubuntu" " Problème pour voir la tv en direct" OFF \
    "Garder ma configuration actuelle" "Risque de ne pas marcher" OFF \
    3>&1 1>&2 2>&3)
     
    exitstatus=$?
    if test $exitstatus -eq 0
    then
        if test "$VersionWine" = "Version hq" 
        then
            sudo dpkg --add-architecture i386 
            wget -nc https://dl.winehq.org/wine-builds/winehq.key
            sudo apt-key add winehq.key
            sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
            sudo apt update && sudo apt upgrade -y
            sudo apt install -y winehq-staging wine-staging winetricks
            rm winehq.key 
            #Création du prefix wine pour Captvty
            export WINEPREFIX="$HOME/.wine_captvty_V3"
            export WINEARCH=win64
            wineboot -u
        elif test "$VersionWine" = "Version des dépots d'Ubuntu"
        then
            sudo dpkg --add-architecture i386
            sudo apt install -y wine32 wine winetricks
            #Création du prefix wine pour Captvty
            export WINEPREFIX="$HOME/.wine_captvty_V3"
            export WINEARCH=win32
            wineboot -u
        else
        #Création du prefix wine pour Captvty
        export WINEPREFIX="$HOME/.wine_captvty_V3"
        wineboot -u
        fi
    else
        echo "Vous avez annulé"
        exit 0
    fi
    
    #Ajout sur le prefix des éléments nécessaires à Captvty
    wineboot --init
    
    #Désinstallation de mono
    wine uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}'
    wine64 uninstaller --remove '{E45D8920-A758-4088-B6C6-31DBB276992E}'
    
    #Installation des différentes bibliothèque pour faire tourner le programme
    
    winetricks -q dotnet452 corefonts gdiplus fontsmooth=rgb vlc win7
    
    #Remise à zéro du dossier où est contenu les fichiers du logiciel en cas de mise à jour
    test -d "$HOME/.captvty_V3" && rm -rf "$HOME/.captvty_V3"
    #(Re-)Création du dossier pour le logiciel
    mkdir "$HOME/.captvty_V3"
    
    #Récupération du programme proprement dit
    adresse=$(wget -q -O- 'http://v3.captvty.fr' | sed -n 's/.*href="\(\/\/.\+\.zip\).*/http:\1/p')
    test -n "$adresse" && wget -qO /tmp/Captvty.zip "$adresse"
    if test -n /tmp/Captvty.zip
    then
       unzip -d "$HOME/.captvty_V3/" /tmp/Captvty.zip &&  rm /tmp/Captvty.zip
    fi
    
    #Récupération de l'icône
    test -d "$HOME/.icons" || mkdir "$HOME/.icons"
    wget "https://framagit.org/Paullux/captvty-script-installateur-pour-ubuntu/raw/master/captvty-logo.png" -O "$HOME/.icons/captvty-logo.png"
    
    #Création des préférences de Captvty
    cat <<FIN > "$HOME/.captvty_V3/Captvty.settings"
    <?xml version="1.0" encoding="utf-8"?>
    <settings>
      <maxRateFactor>5</maxRateFactor>
      <playerPaths>C:/Program Files (x86)/VideoLAN/VLC/vlc.exe</playerPaths>
      <maxRateEnabled>False</maxRateEnabled>
      <remuxEnabled>True</remuxEnabled>
      <downloadLocation>Z:/$HOME/Vidéos/Captvty_V3</downloadLocation>
      <maxJobs>0</maxJobs>
      <remuxRecycleEnabled>False</remuxRecycleEnabled>
      <recordingPaddingEnd>0</recordingPaddingEnd>
      <bandwidth>0</bandwidth>
      <windowMetrics>0, 0, 0, 0</windowMetrics>
      <remuxFormats>mp4</remuxFormats>
      <maxJobsEnabled>False</maxJobsEnabled>
      <recordingPaddingStart>0</recordingPaddingStart>
      <recordingPaddingEnabled>False</recordingPaddingEnabled>
      <windowState></windowState>
    </settings>
    FIN
    
    #Création du fichier desktop pour avoir un raccourci du logiciel dans le menu
    test -d "$HOME/.local/share/applications" || mkdir "$HOME/.local/share/applications"
    cat << FIN > "$HOME/.local/share/applications/Captvty_V3.desktop"
    [Desktop Entry]
    Comment[fr_FR]=
    Comment=
    Exec=env WINEPREFIX="$HOME/.wine_captvty_V3" wine $HOME/.captvty_V3/Captvty.exe
    GenericName[fr_FR]=Regarder et enregistrer la tv
    GenericName=Regarder et enregistrer la tv
    Icon=$HOME/.icons/captvty-logo.png
    MimeType=
    Name[fr_FR]=Captvty V3
    Name=Captvty V3
    Path=$HOME
    StartupNotify=true
    Terminal=false
    TerminalOptions=
    Type=Application
    X-DBUS-ServiceName=
    X-DBUS-StartupType=
    X-KDE-SubstituteUID=false
    X-KDE-Username=
    FIN
  • Une fois un script lancé, laissez le tourner (pas besoin d’interaction supplémentaire)
  • Quand son exécution est terminée, Captvty sera présent dans le menu.

Configuration

Utilisation

Cliquez sur le lanceur du menu.

  1. Pour accéder aux directs,
    1. faites un clic droit sur une chaîne de télévision dans la liste de gauche
    2. puis sur le menu qui s’affiche.
  2. Pour les émissions en rattrapage,
    1. Choisissez une chaîne dans la liste de gauche (un clic gauche dessus) : La liste des émissions se charge dans le volet principal. Les émissions peuvent être classées en différentes rubriques, qui apparaissent dans la liste déroulante au-dessus de la liste des émissions.
    2. Une barre de progression orange apparaît pendant le chargement de la liste des émissions et disparaît lorsque la liste est complètement chargée.
    3. Sélectionnez l’émission de votre choix, puis choisissez de la télécharger ou de la visionner en cliquant sur les liens qui se trouvent dans l’onglet Détails.
    4. Ces deux options, parmi d’autres, sont également disponibles dans les menus contextuels des différentes listes du programme (émissions, téléchargement, conversion).
  3. Le lecteur embarqué permet de visionner une émission sans avoir recours à un logiciel supplémentaire : c’est Captvty lui-même qui se charge d’afficher la vidéo.
  4. L'option page Web de l’émission permet d’ouvrir dans le navigateur par défaut du système, le site Web de la chaîne de télévision sur la page consacrée à l’émission sélectionnée.

L’option lecteur externe permet de choisir un lecteur vidéo. Ce lecteur vidéo doit être installé sur l’ordinateur et doit être compatible avec cette fonctionnalité. Les lecteurs suivants sont recommandés :

  • mpv (mpv.exe), disponible sur le site du projet mpv (page Installation, rubrique Windows, puis Windows builds by lachs0r) ;
  • FFplay (ffplay.exe), disponible sur le site du projet FFmpeg (choisir Download 32-bit Static).
  • VLC media player (vlc.exe), disponible sur le site du projet VideoLAN ;
  • MPlayer (mplayer.exe), disponible sur le site du projet SMPlayer

Les lecteurs vidéo doivent être installés ou décompressés (dans le cas d’un lecteur vidéo portable) sur l’ordinateur, puis configurés dans les options de Captvty (en sélectionnant le fichier indiqué entre parenthèses).

Attention, il est impossible de se déplacer dans la vidéo lorsqu’un contenu est visionné avec un lecteur externe.

En effet, le lecteur externe affiche en réalité la vidéo pendant qu’elle est téléchargée par Captvty (qui lui envoie donc le contenu directement), et non pas une fois qu’elle est enregistrée sur l’ordinateur et matérialisée par un fichier présent sur le disque dur.

Désinstallation

Problèmes connus

Voir aussi

QR Code
QR Code Captvty : accès aux directs et au rattrapage des chaînes de télévision (generated for current page)