Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
sous-titrage [Le 28/01/2017, 13:11] – [Intégration de sous-titres] L'Africain | sous-titrage [Le 19/11/2020, 23:24] (Version actuelle) – [Conversion de sous-titres] mavosaure | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ======Sous-titrage de vidéos====== | ||
+ | |||
+ | Cette page recense les logiciels et méthodes permettant de visualiser une vidéo sous-titrée, | ||
+ | |||
+ | =====Visualisation de sous-titres===== | ||
+ | |||
+ | * [[:Totem]] : lecteur multimédia permettant de visualiser les sous-titres (menu Visualisation -> Sous-titres) | ||
+ | * [[:VLC]] : lecteur multimédia permettant de visualiser les sous-titres (menu Vidéo -> Piste de sous-titres, | ||
+ | * [[: | ||
+ | * [[:xine]] : lecteur multimédia permettant de visualiser les sous-titres | ||
+ | |||
+ | =====Création de sous-titrages===== | ||
+ | |||
+ | ^ Logiciel | ||
+ | | [[: | ||
+ | | **Gaupol subtitle editor** | ||
+ | | [[: | ||
+ | | **[[apt> | ||
+ | |||
+ | (a) Pratique pour savoir si la lecture du sous-titre sera trop difficile car le ratio nbre de caractère / temps est trop élevé. [[wpfr> | ||
+ | |||
+ | (b) Pratique pour caler facilement et précisément le début et la fin d'un sous-titre. | ||
+ | |||
+ | =====Extraction de sous-titres===== | ||
+ | |||
+ | * [[: | ||
+ | * les [[: | ||
+ | |||
+ | =====Intégration de sous-titres===== | ||
+ | |||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | * Nécessite d' | ||
+ | =====Téléchargement de sous-titres===== | ||
+ | |||
+ | * [[: | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[: | ||
+ | |||
+ | =====Conversion de sous-titres===== | ||
+ | * **[[apt> | ||
+ | * [[: | ||
+ | * [[ffmpeg|FFmpeg]] : cet outil à tout faire, en ligne de commande, permet également de [[https:// | ||
+ | |||
+ | =====Spécial : Sous titres simultanés===== | ||
+ | |||
+ | J' | ||
+ | Ceci est un script (corrigé) trouvé sur internet ayant comme nom : merge2ass.sh. Le script convertit 2 fichiers sous titre en 1 .ass (équivalent au .ssa). Votre lecteur vidéo doit être en mesure de lire ce fichier sous titre (VLC l' | ||
+ | |||
+ | La commande est la suivante : | ||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | subtitle2 est le sous titre positionné en bas de la vidéo</ | ||
+ | |||
+ | <file bash merge2ass.sh> | ||
+ | #!/bin/bash | ||
+ | # merge2ass.sh - script for merging two text-subtitles into an ass subtitle file | ||
+ | # version 0.9, 8-august-2007 | ||
+ | # comments/ | ||
+ | |||
+ | # dependencies: | ||
+ | |||
+ | # thanks to: | ||
+ | # - d.watzke for comments | ||
+ | # - belisarivs for testing | ||
+ | # - boris dušek <boris (dot) dusek - gmail - com> for testing/ | ||
+ | # | ||
+ | # $1 is a movie file | ||
+ | # $2 is a subtitle1 | ||
+ | # $3 is a subtitle2 | ||
+ | # $4 is optional and could be " | ||
+ | |||
+ | # example: | ||
+ | # merge2ass.sh movie.avi english.srt slovak.sub | ||
+ | # mplayer -noautosub -ass movie.avi -sub movie-bilingual.ass -subcp utf8 | ||
+ | # | ||
+ | # or just | ||
+ | # merge2ass.sh movie.avi english.srt slovak.sub -pm | ||
+ | # | ||
+ | # or even only | ||
+ | # merge2ass.sh --detect movie.avi -pm | ||
+ | # | ||
+ | # ;-) | ||
+ | # | ||
+ | # release history: | ||
+ | # 0.8a (29. 7. 2007) | ||
+ | # - initial public release | ||
+ | # 0.8.1a (30. 7. 2007) | ||
+ | # - check_syntax fixed (d.watzke) | ||
+ | # - multiline echo -> cat (d.watzke) | ||
+ | # - removes temp files after conversion | ||
+ | # 0.8.2 (1. 8. 2007) | ||
+ | # - check whether the input files exist prior to running MPlayer | ||
+ | # - check for MPlayer binary | ||
+ | # - help page added | ||
+ | # - new optional CLI parameters: -pm (plays movie after conversion), | ||
+ | # 0.8.2.1 (2. 8. 2007) | ||
+ | # - timestamp in output more compatible (reported by belisarivs) | ||
+ | # 0.9 (8. 8. 2007) | ||
+ | # - performs a check for writable output | ||
+ | # - check for MPlayer' | ||
+ | # - pointers to subtitle files stored as arrays | ||
+ | # - autorecognition of subtitles based on MPlayer' | ||
+ | # - output filename based on movie filename (+bilingual.ass) | ||
+ | # - bash now mandatory (non-POSIX syntax used) | ||
+ | # - flag -pm has a long alias (--play-movie) | ||
+ | |||
+ | # | ||
+ | # some future thoughts: | ||
+ | # - more optional flags (do_not_remove_temp_files, | ||
+ | # | ||
+ | # - cleaner sed/awk code | ||
+ | # - support for other players (xine, totem, kmplayer, vlc..) | ||
+ | # - subtitle encoding detection based on enca (if present) - boris? | ||
+ | # | ||
+ | # docs: | ||
+ | # - http:// | ||
+ | # - http:// | ||
+ | # | ||
+ | # THE STORY ENDS HERE | ||
+ | # set -x | ||
+ | |||
+ | # normally you do not want to see mplayer' | ||
+ | # | ||
+ | mplayer_err=/ | ||
+ | |||
+ | arg_count=" | ||
+ | movie=" | ||
+ | sub[1]=" | ||
+ | sub[2]=" | ||
+ | |||
+ | |||
+ | show_help(){ | ||
+ | cat << EOF | ||
+ | | ||
+ | | | | ||
+ | | Merge2ass - a script for merging two text subtitles into ass/ssa subtitle file | | ||
+ | | | ||
+ | | ||
+ | |||
+ | Usage: merge2ass.sh [--help] [movie subtitle1 subtitle2] [-pm|--play-movie] | ||
+ | |||
+ | or | ||
+ | |||
+ | | ||
+ | |||
+ | --help | ||
+ | |||
+ | --detect | ||
+ | |||
+ | movie movie file (anything that MPlayer recognizes) | ||
+ | subtitle[12] | ||
+ | |||
+ | -pm play movie immediately and remove the output after finishing | ||
+ | --play-movie | ||
+ | |||
+ | EOF | ||
+ | } | ||
+ | |||
+ | detect_subtitles(){ | ||
+ | while read -r line; do | ||
+ | sub[++i]=" | ||
+ | done < < | ||
+ | echo "$i subtitles were detected in total." | ||
+ | echo "These two will be used:" | ||
+ | echo " | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | convert_subs(){ | ||
+ | type mplayer || { echo " | ||
+ | |||
+ | echo " | ||
+ | # slower but does not require the video file for conversion | ||
+ | # mplayer /dev/zero -rawvideo pal:fps=25 -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub " | ||
+ | mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub " | ||
+ | mv dumpsub.srt " | ||
+ | echo " | ||
+ | mplayer -dumpsrtsub -noautosub -really-quiet -frames 0 -sub " | ||
+ | mv dumpsub.srt " | ||
+ | } | ||
+ | |||
+ | generate_ssa_header(){ | ||
+ | cat > " | ||
+ | [Script Info] | ||
+ | Title: | ||
+ | Original Script: | ||
+ | Original Translation: | ||
+ | Original Editing: | ||
+ | Original Timing: | ||
+ | Original Script Checking: | ||
+ | ScriptType: v4.00 | ||
+ | Collisions: Normal | ||
+ | PlayResY: 1024 | ||
+ | PlayDepth: 0 | ||
+ | Timer: 100,0000 | ||
+ | |||
+ | [V4 Styles] | ||
+ | Format: Name, Fontname, Fontsize, PrimaryColour, | ||
+ | Style: lang1style, | ||
+ | Style: lang2style, | ||
+ | |||
+ | [Events] | ||
+ | Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text | ||
+ | EOF | ||
+ | } | ||
+ | |||
+ | generate_ssa_dialogs(){ | ||
+ | sed -e "/ --> / | ||
+ | sed -e "/ --> / | ||
+ | } | ||
+ | |||
+ | remove_temp_files(){ | ||
+ | rm " | ||
+ | } | ||
+ | |||
+ | play_movie(){ | ||
+ | mplayer -ass 2>/ | ||
+ | mplayer -really-quiet -fs " | ||
+ | } | ||
+ | |||
+ | delete_output(){ | ||
+ | rm " | ||
+ | } | ||
+ | |||
+ | eval last_arg=' | ||
+ | |||
+ | if [ $arg_count -eq 0 ]; then | ||
+ | show_help | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | for param in $* | ||
+ | do | ||
+ | if [ $param = " | ||
+ | done | ||
+ | |||
+ | if [ " | ||
+ | movie=" | ||
+ | output=" | ||
+ | > " | ||
+ | detect_subtitles | ||
+ | fi | ||
+ | |||
+ | if [ ! -f " | ||
+ | if [ ! -f " | ||
+ | if [ ! -f " | ||
+ | |||
+ | echo " | ||
+ | # reset output | ||
+ | output=" | ||
+ | > " | ||
+ | |||
+ | convert_subs | ||
+ | generate_ssa_header | ||
+ | generate_ssa_dialogs | ||
+ | remove_temp_files | ||
+ | |||
+ | if [ " | ||
+ | play_movie | ||
+ | delete_output | ||
+ | fi | ||
+ | |||
+ | exit 0 | ||
+ | |||
+ | # set +x | ||
+ | </ | ||
+ | |||
+ | Une solution open-source existe en ligne (également distribuée sous forme de jar exécutable) : [[https:// | ||
+ | |||
+ | =====Liens===== | ||
+ | |||
+ | * Discussion " | ||
+ | * [[: |