Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 17-11-2017 19:51:18

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

[Résolu] HandbrakeCLI - et les sous titres

Salut,
j'essaie de normaliser un peux mes films en les passant à la moulinette (HandBrake 1.0.7 via SID). J'ai cependant un souci : je n'arrive pas à garder les sous-titres dans le média converti.

J'ai essayé ceci :

HandBrakeCLI \
-e x264 --encoder-preset fast \
-b 1024 -2 -T -r 23.976 --vfr \
-s "scan,1,2,3,4,5,6,7,8,9,10" \
-a "1,2,3,4,5,6,7,8,9,10" \
--width 1280 --height 720 \
-i "film.mkv" -o "converti.mkv"
 



Et ceci :

HandBrakeCLI \
-e x264 --encoder-preset fast \
-b 1024 -2 -T -r 23.976 --vfr \
--all-audio \
--all-subtitles \
--width 1280 --height 720 \
-i "film.mkv" -o "converti.mkv"
 




En vain, 8 sous titres en entrant, 0 sous-titres l'arrivée. sad

Une idée ? (je commence à suspecter un bug dans ma version de HandBrake - ou un problème de reconnaissance des sous-titres quelque part)

Dernière modification par otyugh (18-11-2017 22:25:49)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#2 17-11-2017 23:27:00

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : [Résolu] HandbrakeCLI - et les sous titres

Un petit regard dans les loggs et une recherche. >.<

[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808
[22:29:03] add_ffmpeg_subtitle: unknown subtitle stream type: 0x17808



C'est un souci avec ffmpeg du coup.
https://github.com/HandBrake/HandBrake/issues/771

Eeeeet du coup je sais pas quoi faire sauf jouer avec les versions et j'ai la fleeeemmeuuuh. sad

Dernière modification par otyugh (17-11-2017 23:30:32)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#3 18-11-2017 10:14:01

golgot200
Membre
Inscription : 05-08-2007

Re : [Résolu] HandbrakeCLI - et les sous titres

Bonjour,

et pourquoi pas le faire directement avec ffmpeg ?  smile

Dernière modification par golgot200 (18-11-2017 10:14:27)

Hors ligne

#4 18-11-2017 10:14:11

chalu
Modératrice
Lieu : Anjou
Distrib. : Debian Stretch
Noyau : Linux 4.9.0-3-amd64
(G)UI : Mate 1.16
Inscription : 11-03-2016

Re : [Résolu] HandbrakeCLI - et les sous titres

Bonjour smile
Ils indiquent de recompiler handbrake dans le fil je crois ? Je crois comprendre aussi que c’est le passage à ffmpeg des distributions Linux qui posent problème et que le nombre d’utilisateurs par rapport à Windows étant restreint et comme ils n’ont pas que cette occupation .... le bug risque de durer.
Tu ne peux pas extraire le sous titre , convertir ta vidéo puis ajouter le sous titre ou utiliser un lecteur qui associe les deux ?
Normaliser tes films ça veut dire quoi ?

Hors ligne

#5 18-11-2017 13:14:14

golgot200
Membre
Inscription : 05-08-2007

Re : [Résolu] HandbrakeCLI - et les sous titres

Sous Arch avec :

ffmpeg en version 3.4-2
handbrake-cli  1.0.7-2

ta 2ème commande par exemple passe très bien.


HandBrakeCLI -e x264 --encoder-preset fast -b 1024 -2 -T -r 23.976 --vfr --all-audio --all-subtitles --width 1280 --height 720 --start-at duration:0 --stop-at duration:60 -i "film.mkv" -o "converti.mkv"
 





HandBrakeCLI -e x264 --encoder-preset fast -b 1024 -2 -T -r 23.976 --vfr --all-audio --all-subtitles --width 1280 --height 720 --start-at duration:0 --stop-at duration:60 -i "film.mkv" -o "converti.mkv"
[12:03:53] hb_init: starting libhb thread
[12:03:53] thread 7fcb86a32700 started ("libhb")
HandBrake 1.0.7 (2017041000) - Linux x86_64 - https://handbrake.fr
8 CPUs detected
Opening film.mkv...
[12:03:53] CPU: Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
[12:03:53]  - logical processor count: 8
[12:03:53] hb_scan: path=film.mkv, title_index=1
udfread ERROR: ECMA 167 Volume Recognition failed
disc.c:274: failed opening UDF image film.mkv
disc.c:352: error opening file BDMV/index.bdmv
disc.c:352: error opening file BDMV/BACKUP/index.bdmv
[12:03:53] bd: not a bd - trying as a stream/file instead
libdvdnav: Using dvdnav version 5.0.1
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[12:03:53] dvd: not a dvd - trying as a stream/file instead
Input #0, matroska,webm, from 'film.mkv':
  Duration: 02:07:52.57, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Video: h264 (High)
      yuv420p, 720x460 [PAR 16:15 DAR 192:115], PAR 1:1 DAR 36:23
      25 fps, 1k tbn (default) (forced)
    Metadata:
      title           : Le Train
    Stream #0:1(fre): Audio: ac3
      48000 Hz, stereo, fltp, 192 kb/s (default) (forced)
    Metadata:
      title           : Français
    Stream #0:2(eng): Audio: ac3
      48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : English
    Stream #0:3(fre): Subtitle: srt (default) (forced)
    Metadata:
      title           : French Forced
    Stream #0:4(fre): Subtitle: srt
    Metadata:
      title           : French VOSTFR
[12:03:53] scan: decoding previews for title 1
[12:03:54] scan: audio 0x1: ac3, rate=48000Hz, bitrate=192000 Francais (AC3) (2.0 ch)
[12:03:54] scan: audio 0x2: ac3, rate=48000Hz, bitrate=192000 English (AC3) (2.0 ch)
[12:03:54] scan: 10 previews, 720x460, 25.000 fps, autocrop = 2/2/0/2, aspect 1.67:1, PAR 16:15
[12:03:54] libhb: scan thread found 1 valid title(s)
+ Using preset: CLI Default
+ title 1:
  + stream: film.mkv
  + duration: 02:07:52
  + size: 720x460, pixel aspect: 16/15, display aspect: 1.67, 25.000 fps
  + autocrop: 2/2/0/2
  + support opencl: no
  + chapters:
    + 1: cells 0->0, 0 blocks, duration 02:07:52
  + audio tracks:
    + 1, Francais (AC3) (2.0 ch) (iso639-2: fra), 48000Hz, 192000bps
    + 2, English (AC3) (2.0 ch) (iso639-2: eng), 48000Hz, 192000bps
  + subtitle tracks:
    + 1, French (iso639-2: fra) (Text)(UTF-8)
    + 2, French (iso639-2: fra) (Text)(UTF-8)
[12:03:54] 1 job(s) to process
[12:03:54] json job:
{
    "Audio": {
        "AudioList": [
            {
                "Bitrate": 128,
                "CompressionLevel": -1.0,
                "DRC": 0.0,
                "DitherMethod": "auto",
                "Encoder": "av_aac",
                "Gain": 0.0,
                "Mixdown": "stereo",
                "NormalizeMixLevel": false,
                "PresetEncoder": "av_aac",
                "Quality": -3.0,
                "Samplerate": "auto",
                "Track": 0
            },
            {
                "Bitrate": 128,
                "CompressionLevel": -1.0,
                "DRC": 0.0,
                "DitherMethod": "auto",
                "Encoder": "av_aac",
                "Gain": 0.0,
                "Mixdown": "stereo",
                "NormalizeMixLevel": false,
                "PresetEncoder": "av_aac",
                "Quality": -3.0,
                "Samplerate": "auto",
                "Track": 1
            }
        ],
        "CopyMask": [
            "copy:aac",
            "copy:ac3",
            "copy:eac3",
            "copy:dtshd",
            "copy:dts",
            "copy:mp3",
            "copy:truehd",
            "copy:flac"
        ],
        "FallbackEncoder": "av_aac"
    },
    "Destination": {
        "ChapterList": [
            {
                "Name": ""
            }
        ],
        "ChapterMarkers": false,
        "File": "converti.mkv",
        "Mp4Options": {
            "IpodAtom": false,
            "Mp4Optimize": false
        },
        "Mux": "mkv"
    },
    "Filters": {
        "FilterList": [
            {
                "ID": 6,
                "Settings": {
                    "mode": 0,
                    "rate": "27000000/1126125"
                }
            },
            {
                "ID": 11,
                "Settings": {
                    "crop-bottom": 2,
                    "crop-left": 0,
                    "crop-right": 2,
                    "crop-top": 2,
                    "height": 720,
                    "width": 1134
                }
            }
        ]
    },
    "Metadata": {},
    "PAR": {
        "Den": 10773,
        "Num": 11488
    },
    "SequenceID": 0,
    "Source": {
        "Angle": 0,
        "Path": "film.mkv",
        "Range": {
            "End": 5400000,
            "Type": "time"
        },
        "Title": 1
    },
    "Subtitle": {
        "Search": {
            "Burn": true,
            "Default": false,
            "Enable": false,
            "Forced": false
        },
        "SubtitleList": [
            {
                "Burn": false,
                "Default": true,
                "Forced": false,
                "Track": 0
            },
            {
                "Burn": false,
                "Default": false,
                "Forced": false,
                "Track": 1
            }
        ]
    },
    "Video": {
        "Bitrate": 1024,
        "ColorMatrixCode": 0,
        "Encoder": "x264",
        "Level": "auto",
        "OpenCL": false,
        "Options": "",
        "Preset": "fast",
        "Profile": "auto",
        "QSV": {
            "AsyncDepth": 4,
            "Decode": false
        },
        "Tune": "",
        "Turbo": true,
        "TwoPass": true
    }
}
[12:03:54] starting job
[12:03:54] job configuration:
[12:03:54]  * source
[12:03:54]    + film.mkv
[12:03:54]    + title 1, start 00:00:0.00 stop 00:01:0.00
[12:03:54]    + container: matroska,webm
[12:03:54]  * destination
[12:03:54]    + converti.mkv
[12:03:54]    + container: Matroska (libavformat)
[12:03:54]  * video track
[12:03:54]    + decoder: h264
[12:03:54]    + filters
[12:03:54]      + Framerate Shaper (mode=0:rate=27000000/1126125)
[12:03:54]        + frame rate: same as source (around 23.976 fps)
[12:03:54]      + Crop and Scale (width=1134:height=720:crop-top=2:crop-bottom=2:crop-left=0:crop-right=2)
[12:03:54]        + source: 720 * 460, crop (2/2/0/2): 718 * 456, scale: 1134 * 720
[12:03:54]    + Output geometry
[12:03:54]      + storage dimensions: 1134 x 720
[12:03:54]      + pixel aspect ratio: 11488 : 10773
[12:03:54]      + display dimensions: 1209 x 720
[12:03:54]    + encoder: H.264 (libx264)
[12:03:54]      + preset:  fast
[12:03:54]      + profile: auto
[12:03:54]      + level:   auto
[12:03:54]      + bitrate: 1024 kbps, pass: 1
[12:03:54]      + fast first pass
[12:03:54]      + options: ref=1:8x8dct=0:me=dia:trellis=0
[12:03:54]                 analyse=i4x4 (if originally enabled, else analyse=none)
[12:03:54]                 subq=2 (if originally greater than 2, else subq unchanged)
[12:03:54]  * subtitle track 1, French (track 0, id 0x3) Text [UTF-8] -> Passthrough, Default
[12:03:54]  * subtitle track 2, French (track 1, id 0x4) Text [UTF-8] -> Passthrough
[12:03:54]  * audio track 1
[12:03:54]    + decoder: Francais (AC3) (2.0 ch) (track 1, id 0x1)
[12:03:54]      + bitrate: 192 kbps, samplerate: 48000 Hz
[12:03:54]    + mixdown: Stereo
[12:03:54]    + encoder: AAC (libavcodec)
[12:03:54]      + bitrate: 128 kbps, samplerate: 48000 Hz
[12:03:54]  * audio track 2
[12:03:54]    + decoder: English (AC3) (2.0 ch) (track 2, id 0x2)
[12:03:54]      + bitrate: 192 kbps, samplerate: 48000 Hz
[12:03:54]    + mixdown: Stereo
[12:03:54]    + encoder: AAC (libavcodec)
[12:03:54]      + bitrate: 128 kbps, samplerate: 48000 Hz
[12:03:54] sync: expecting 1525 video frames
[12:03:54] encx264: min-keyint: 24, keyint: 240
[12:03:54] encx264: encoding at average bitrate 1024
[12:03:54] encx264: unparsed options: ref=2:weightp=1:subme=6:rc-lookahead=30
x264 [info]: using SAR=11488/10773
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile Main, level 3.1
[12:03:54] sync: first pts video is 0
[12:03:54] sync: Chapter 1 at frame 1 time 0
[12:03:54] sync: first pts audio 0x1 is 0
[12:03:54] sync: first pts audio 0x2 is 0
Encoding: task 1 of 2, 29.38 %[12:03:57] sync: first pts subtitle 0x3 is 1906920
[12:03:57] sync: first pts subtitle 0x4 is 1906920
Encoding: task 1 of 2, 96.39 % (260.02 fps, avg 224.70 fps, ETA 00h00m00s)[12:04:01] sync: reached video pts 5400000, exiting early
[12:04:01] sync: reached audio 0x1 pts 5400000, exiting early
[12:04:01] sync: reached audio 0x2 pts 5400000, exiting early
Encoding: task 1 of 2, 98.30 % (260.02 fps, avg 224.70 fps, ETA 00h00m00s)[12:04:01] work: average encoding speed for job is 224.699554 fps
Encoding: task 1 of 2, 98.30 % (260.02 fps, avg 224.70 fps, ETA 00h00m00s)[12:04:01] vfr: lost time: 0 (0 frames)
[12:04:01] vfr: gained time: 0 (0 frames) (0 not accounted for)
[12:04:01] ac3-decoder done: 2230 frames, 0 decoder errors
[12:04:01] ac3-decoder done: 2230 frames, 0 decoder errors
[12:04:01] h264-decoder done: 1763 frames, 0 decoder errors
[12:04:01] sync: got 1500 frames, 1525 expected
[12:04:01] sync: framerate min 25.000 fps, max 25.000 fps, avg 25.000 fps
x264 [info]: frame I:14    Avg QP:11.82  size: 22726
x264 [info]: frame P:388   Avg QP:13.01  size: 12803
x264 [info]: frame B:1098  Avg QP:15.63  size:  3760
x264 [info]: consecutive B-frames:  1.5%  1.9%  2.2% 94.4%
x264 [info]: mb I  I16..4: 81.2%  0.0% 18.8%
x264 [info]: mb P  I16..4: 13.8%  0.0%  0.0%  P16..4: 18.9%  0.0%  0.0%  0.0%  0.0%    skip:67.3%
x264 [info]: mb B  I16..4:  1.9%  0.0%  0.0%  B16..8:  9.7%  0.0%  0.0%  direct: 3.4%  skip:84.9%  L0:36.7% L1:42.3% BI:21.0%
x264 [info]: final ratefactor: 20.48
x264 [info]: coded y,uvDC,uvAC intra: 28.9% 1.5% 1.1% inter: 6.8% 0.1% 0.1%
x264 [info]: i16 v,h,dc,p: 46% 23% 18% 13%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 18% 12%  7%  9%  9%  7%  7%  5%
x264 [info]: i8c dc,h,v,p: 99%  1%  1%  0%
x264 [info]: Weighted P-Frames: Y:18.3% UV:0.3%
x264 [info]: kb/s:1255.31
[12:04:01] starting job
[12:04:01] work: correcting framerate, 27000000/1126125 -> 27000000/1080000
[12:04:01] job configuration:
[12:04:01]  * source
[12:04:01]    + film.mkv
[12:04:01]    + title 1, start 00:00:0.00 stop 00:01:0.00
[12:04:01]    + container: matroska,webm
[12:04:01]  * destination
[12:04:01]    + converti.mkv
[12:04:01]    + container: Matroska (libavformat)
[12:04:01]  * video track
[12:04:01]    + decoder: h264
[12:04:01]    + filters
[12:04:01]      + Framerate Shaper (mode=0:rate=27000000/1126125)
[12:04:01]        + frame rate: same as source (around 23.976 fps)
[12:04:01]      + Crop and Scale (width=1134:height=720:crop-top=2:crop-bottom=2:crop-left=0:crop-right=2)
[12:04:01]        + source: 720 * 460, crop (2/2/0/2): 718 * 456, scale: 1134 * 720
[12:04:01]    + Output geometry
[12:04:01]      + storage dimensions: 1134 x 720
[12:04:01]      + pixel aspect ratio: 11488 : 10773
[12:04:01]      + display dimensions: 1209 x 720
[12:04:01]    + encoder: H.264 (libx264)
[12:04:01]      + preset:  fast
[12:04:01]      + profile: auto
[12:04:01]      + level:   auto
[12:04:01]      + bitrate: 1024 kbps, pass: 2
[12:04:01]  * subtitle track 1, French (track 0, id 0x3) Text [UTF-8] -> Passthrough, Default
[12:04:01]  * subtitle track 2, French (track 1, id 0x4) Text [UTF-8] -> Passthrough
[12:04:01]  * audio track 1
[12:04:01]    + decoder: Francais (AC3) (2.0 ch) (track 1, id 0x1)
[12:04:01]      + bitrate: 192 kbps, samplerate: 48000 Hz
[12:04:01]    + mixdown: Stereo
[12:04:01]    + encoder: AAC (libavcodec)
[12:04:01]      + bitrate: 128 kbps, samplerate: 48000 Hz
[12:04:01]  * audio track 2
[12:04:01]    + decoder: English (AC3) (2.0 ch) (track 2, id 0x2)
[12:04:01]      + bitrate: 192 kbps, samplerate: 48000 Hz
[12:04:01]    + mixdown: Stereo
[12:04:01]    + encoder: AAC (libavcodec)
[12:04:01]      + bitrate: 128 kbps, samplerate: 48000 Hz
[12:04:01] sync: expecting 1500 video frames
[12:04:01] encx264: min-keyint: 24, keyint: 240
[12:04:01] encx264: encoding at average bitrate 1024
[12:04:01] encx264: unparsed options: ref=2:weightp=1:subme=6:rc-lookahead=30
x264 [info]: using SAR=11488/10773
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile High, level 3.1
[12:04:01] sync: first pts video is 0
[12:04:01] sync: Chapter 1 at frame 1 time 0
[12:04:01] sync: first pts audio 0x1 is 0
[12:04:01] sync: first pts audio 0x2 is 0
Encoding: task 2 of 2, 30.80 % (82.12 fps, avg 92.19 fps, ETA 00h00m11s)[12:04:06] sync: first pts subtitle 0x3 is 1906920
Encoding: task 2 of 2, 35.27 % (82.12 fps, avg 92.19 fps, ETA 00h00m11s)[12:04:06] sync: first pts subtitle 0x4 is 1906920
Encoding: task 2 of 2, 98.87 % (147.49 fps, avg 147.73 fps, ETA 00h00m00s)[12:04:12] sync: reached video pts 5400000, exiting early
[12:04:12] sync: reached audio 0x1 pts 5400000, exiting early
[12:04:12] sync: reached audio 0x2 pts 5400000, exiting early
Encoding: task 2 of 2, 99.93 % (77.39 fps, avg 138.84 fps, ETA 00h00m00s)[12:04:13] work: average encoding speed for job is 138.844971 fps
[12:04:13] vfr: lost time: 0 (0 frames)
[12:04:13] vfr: gained time: 0 (0 frames) (0 not accounted for)
[12:04:13] ac3-decoder done: 2307 frames, 0 decoder errors
[12:04:13] ac3-decoder done: 2307 frames, 0 decoder errors
[12:04:13] h264-decoder done: 1823 frames, 0 decoder errors
[12:04:13] sync: got 1500 frames, 1500 expected
[12:04:13] sync: framerate min 25.000 fps, max 25.000 fps, avg 25.000 fps
x264 [info]: frame I:14    Avg QP:12.94  size: 14416
x264 [info]: frame P:388   Avg QP:15.89  size: 10313
x264 [info]: frame B:1098  Avg QP:19.09  size:  3175
x264 [info]: consecutive B-frames:  1.5%  1.9%  2.2% 94.4%
x264 [info]: mb I  I16..4: 47.6% 47.4%  5.0%
x264 [info]: mb P  I16..4:  1.9% 10.0%  1.0%  P16..4: 14.6%  6.9%  3.0%  0.0%  0.0%    skip:62.5%
x264 [info]: mb B  I16..4:  1.2%  3.8%  0.2%  B16..8:  8.9%  3.3%  0.4%  direct: 4.9%  skip:77.3%  L0:39.4% L1:45.6% BI:15.0%
x264 [info]: 8x8 transform intra:72.1% inter:62.5%
x264 [info]: coded y,uvDC,uvAC intra: 56.5% 1.5% 0.1% inter: 8.5% 0.2% 0.0%
x264 [info]: i16 v,h,dc,p: 50% 21% 10% 18%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 16% 17%  6%  8%  8%  7%  7%  7%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 17% 13%  7%  8%  9%  6%  7%  4%
x264 [info]: i8c dc,h,v,p: 97%  1%  1%  0%
x264 [info]: Weighted P-Frames: Y:18.3% UV:0.3%
x264 [info]: ref P L0: 65.0% 35.0%
x264 [info]: ref B L0: 87.7% 12.3%
x264 [info]: ref B L1: 96.2%  3.8%
x264 [info]: kb/s:1025.29
Muxing: this may take awhile...[12:04:13] mux: track 0, 1500 frames, 7689010 bytes, 1024.52 kbps, fifo 2048
[12:04:13] mux: track 1, 2813 frames, 451307 bytes, 60.13 kbps, fifo 4096
[12:04:13] mux: track 2, 2813 frames, 499685 bytes, 66.58 kbps, fifo 4096
[12:04:13] mux: track 3, 7 frames, 506 bytes, 0.07 kbps, fifo 8
[12:04:13] mux: track 4, 7 frames, 506 bytes, 0.07 kbps, fifo 8
[12:04:13] libhb: work result = 0

Encode done!

HandBrake has exited.

 



Tout y est :


from 'converti.mkv':
  Metadata:
    CREATION_TIME   : 2017-11-18T11:04:01Z
    ENCODER         : Lavf57.7.2
  Duration: 00:01:03.85, start: 0.000000, bitrate: 1088 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, smpte170m/bt470bg/bt709, progressive), 1134x720 [SAR 11488:10773 DAR 1436:855], SAR 129:121 DAR 8127:4840, 25 fps, 25 tbr, 1k tbn, 180k tbc (default)
    Stream #0:1(fre): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : Stereo
    Stream #0:2(eng): Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      title           : Stereo
    Stream #0:3(fre): Subtitle: ass (default) (forced)
    Stream #0:4(fre): Subtitle: ass
 



par contre au niveau des dimensions :

1134x720 [SAR 11488:10773 DAR 1436:855], SAR 129:121 DAR 8127:4840



C'est pas bien bon

hmm

Dernière modification par golgot200 (18-11-2017 15:28:22)

Hors ligne

#6 18-11-2017 15:13:46

golgot200
Membre
Inscription : 05-08-2007

Re : [Résolu] HandbrakeCLI - et les sous titres

EDIT :
Quand le problème sera résolu .


HandBrakeCLI -e x264 --encoder-preset veryfast -b 2048 -2 -T --vfr --all-audio --all-subtitles --width 1280 --height 720 --custom-anamorphic --display-width 1280 --keep-display-aspect --crop 0:0:0:0 --start-at duration:0 --stop-at duration:60 -i "film.mkv" -o "converti.mkv"



--custom-anamorphic --display-width 1280 --keep-display-aspect --crop 0:0:0:0



Et virer peut-être "-r 23.976" pour laisser par défaut.
Monter aussi un peu  le bitrate pour un 720P

Résultat :

1280x720 [SAR 1:1 DAR 16:9], 23.98 fps



EDIT: En tout cas avec  mes versions, pas de problème à signaler chez moi. Dommage que je n'ai plus de debian sous la main pour mieux aider.
La version static peut-être  hmm

Dernière modification par golgot200 (18-11-2017 15:26:05)

Hors ligne

#7 18-11-2017 18:47:39

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : [Résolu] HandbrakeCLI - et les sous titres

>Sur la résolution
Ça c'est un problème de résolution que je n'ai pas, mais j'aurais pu avoir, merci toujours x)

>Ffmpeg seul ?
Oui, c'est pas faux. Je pensais que Handbrake avait ses propres mécanismes et bidouillages pour me faciliter la vie, mais finalement c'est vrai qu'autant revenir à la source si ça déconne >.<

>"Normaliser" ?
C'est un mot que j'utilise comme ça, je veux juste dire "avoir un bitrate et des résolution comparables dans les mêmes codecs" : pour gagner ~50% de place, et pour ne pas avoir de surprise quand je partage du contenu de "j'arrive pas à regarder les vidéos sur mon lecteur".
Moi j'en suis venu à penser que le x264 avec 1000kbps en 720p pour les dessin animés et 2000 pour les films IRL, suffisait genre, largement. Pareil, je passe tous mes fichiers audio à la moulinette, on gagne vraiment de la place pour une différence d'audio que je n'arrive pas à discerner (je suis même assez violent avec les conférences qui en finissent pas que je passe en mono 32K comme un malpropre ! - Mes contenus préférés tiennent sur une clé et sont partageable à une qualité raisonnable, j'en demande pas plus).
- Je sais que c'est de l'hérésie, mais je pense que la qualité (que je ne perçois qu'à peine) passe après l'accessibilité de pouvoir juste faire un copier coller sur un ordi, une tv, ou un raspberrypi, pas de chichi ou de problème.

Je vais essayer avec archlinux voir si j'ai plus de chance. Le man de ffmpeg me fait peur.

Dernière modification par otyugh (18-11-2017 18:50:32)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#8 18-11-2017 19:22:57

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : [Résolu] HandbrakeCLI - et les sous titres

Misère, ça tourne sur arch. Pas pratique, c'est mon ordi de jeu, je lui demandai pas de fonctionner parfaitement lui, grmblm é_è

Dernière modification par otyugh (18-11-2017 19:23:50)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#9 18-11-2017 21:57:00

ska
Membre
Lieu : tortuga
Distrib. : Debian Jessie
Noyau : Linux 4.9-bpo
(G)UI : KDE 4.14.2
Inscription : 10-01-2014

Re : [Résolu] HandbrakeCLI - et les sous titres

Salut otyugh

Plusieurs choses :
1. Passer par ffmpeg comme conseillé par golgot200
2. Ne pas définir un bitrate (bitrate = taille de fichier), mais plutôt définir une qualité d'image

Concernant le point 1.

Un petit exemple avec ce que tu cherches à faire

ffmpeg -i "VIDEO_ORIGINALE.MP4" -map 0:0 -map 0:1 -map 0:2 -vf scale=-1:720:flag='bicubic' -c:v libx264 -tune film -preset medium -crf 23 -c:a libvorbis -q:a 3 -c:s copy "VIDEO_CONVERTIE.MKV"



Les explications

-i "VIDEO_ORIGINALE.MP4" = (input) nom du fichier vidéo original en entrée

-map 0:0 = redirige (et réordonne) uniquement certains flux de la vidéo originale vers la vidéo convertie
           option facultative, si omis tous les flux sont redirigés (pas sûr pour les sous-titres)
           pour connaitre la liste des flux de la vidéo originale
           ffmpeg -i "VIDEO_ORIGINALE.MP4" 2> liste-flux.txt
           (le 1er flux est toujours 0:0)

-vf = applique divers filtres, ici une mise à l'échelle en utilisant l'algorithme bicubic

-c:v = encodeur vidéo utilisé, ici x264
  options pour libx264
  -tune = optimisation sur certains types de vidéo
        "film" pour tout type de film représentant la vie réelle
        "animation" optimise la compression pour les dessins animés
  -preset = sélection de la qualité de compression
            "ultrafast" quasiment aucune compression, mais très rapide
            "veryslow" quasiment tous les algos de compression sont utilisés, mais extrêmement lent
            "medium" est le choix par défaut, meilleur ratio temps d'encodage / taux de compression
  -crf = utilisation du mode "qualité d'image constant", en opposition à "taille de fichier définie"

-c:a = encodeur audio utilisé, ici vorbis
  options pour libvorbis
  -q:a = qualité de l'encodeur audio, ici 3 correspondant à ~112 kbps

-c:s = sous-titres
  -copy = les sous-titres sont intégrés tels quels dans la vidéo convertie




Concernant le point 2.

Il faut utiliser le CRF (Constant Rate Factor) pour définir une qualité d'image constante. L'objectif est d'obtenir une qualité d'image stable entre plusieurs vidéos. À durée égale, la taille du fichier peut varier suivant si la vidéo est facilement compressible ou pas. Une vidéo de 30mn avec beaucoup de scènes fixes, typiquement une conférence, sera beaucoup moins lourde qu'une vidéo de 30mn avec des explosions et effets stroboscopiques tout du long. L'encodeur fait varier le bitrate pour s'adapter à différentes scènes, en gardant comme objectif une certaine qualité d'image.

L'encodage en 1 ou 2 passes en spécifiant un bitrate était utile à une certaine époque pour utiliser le maximum de place disponibles sur des supports comme le CD ou le DVD, typiquement obtenir la meilleure qualité de vidéo sur 700Mo exactement. En définissant un bitrate de 1000kb/s (vidéo+audio) pour une vidéo de 30mn00s, on obtient un fichier de 219,72 Mio exactement (ajouter quelques Mio pour le conteneur mkv). Si tu ne comptes pas utiliser ces formats de stockage, je te conseille vivement d'utiliser le CRF. Pour info, un encodage en 2 passes ne fait que définir précisément un CRF lors de la première passe, et fait un encodage tout à fait normal en 2è passe avec le CRF défini précédemment. (voir discussion avec un des devs du x264)

Par défaut le CRF est fixé à 23, ce qui donne une très bonne qualité. Réduire ce facteur accroit la qualité de l'image, l'augmenter abaisse la qualité de l'image. L'échelle est logarithmique, une différence de 6 points double ou divise par 2 environ la taille du fichier final. Un CRF de 18-20 donne une qualité très proche des disques commerciaux, un CRF de 26-28 est suffisant pour une conférence.

Attention toutefois, la définition de la vidéo est importante. Une vidéo en 1080p à CRF 23 sera excellente, alors qu'une vidéo en 240p à CRF 23 pourrait faire apparaître des artefacts.


Je te livre ici mon pense-bête pour les options

##### On peut séparer plusieurs filtres avec une virgule, l'ordre est important
-vf filtre1,filtre2,etc
##### Rogner l'image, origine = en haut à gauche
-vf crop=largeurX:hauteurY:decalageX:decalageY
##### Mettre à l'échelle, -1 conserve le ratio, flag peut être 'bicubic'
-vf scale=-1:480:flags='lanczos'
##### Débruitage de vidéo, défaut = 4, utiliser 2 pour les vidéos faiblement bruitées
-vf hqdn3d=2
##### Désentralaçage, mcdeint et kerndeint sont moins efficaces
-vf yadif
##### Ajustement des couleurs [mini/maxi|défaut]
-vf mp=eq2=gamma:contraste:luminosite:saturation [0.1/10|1:-2/2|1:-1/1|0:0/3|1]
##### Modifie le ratio, le lecteur affichera la vidéo en 16/9 peut importe la définition
-aspect 16:9
##### Change le départ, la fin ou la durée
-ss départ en secondes
-t durée en secondes
-to fin en secondes
##### Désactive les flux audios ou vidéos
-an sans audio
-vn sans vidéo
##### Audio Opus, bitrate
-c:a libopus
     -b:a 64k
##### Audio Vorbis, qualité
-c:a libvorbis
     -q:a 0 (~64 kbps)
     -q:a 2 (~96 kbps
     -q:a 3 (~112 kbps standard)
     -q:a 4 (~128 kbps)
     -q:a 5 (~160 kbps)
##### Conversion audio multi-canaux vers stéréo
-ac 2



Et le lien vers la doc complète de ffmpeg avec toutes les options disponibles pour faire des trucs vraiment spéciaux :
https://ffmpeg.org/ffmpeg-all.html

Les conseils pour du x264 sur le wiki ffmpeg :
https://trac.ffmpeg.org/wiki/Encode/H.264

Hors ligne

#10 18-11-2017 22:25:22

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : [Résolu] HandbrakeCLI - et les sous titres

Merki. Vais essayer et comparer. Je serai en effet pas contre du tout d'utiliser juste ffmpeg, je l'utilise déjà pour mon traitement de son, mais j'avais la flemme de chercher les bouts de config que tu viens de passer si bien smile

Pour CRF, je connais... Mais je sais pas, le résultat moins prédictible m'embête un peu. J'essayerai plus fort.

Dernière modification par otyugh (18-11-2017 23:11:03)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#11 20-11-2017 23:39:34

ska
Membre
Lieu : tortuga
Distrib. : Debian Jessie
Noyau : Linux 4.9-bpo
(G)UI : KDE 4.14.2
Inscription : 10-01-2014

Re : [Résolu] HandbrakeCLI - et les sous titres

Attention, le résultat est extrêmement prédictible, mais sur la qualité de l'image et non pas sur la taille finale du fichier.

Si tu prends une vidéo en 480p et que tu utilises un CRF de 30, tu auras toujours des travellings dégueulasses, peu importe la vidéo que tu cherches à encoder. Au contraire si tu prends une vidéo en 720p et que tu utilises un CRF de 20, tes travellings seront toujours nickels pour n'importe quelle vidéo.

Il faut comprendre que le CRF est là pour t'assurer un objectif de qualité d'image. Le bitrate lui au contraire assure un objectif de taille de fichier. D'où les conseils donnés pendant des années et des années sur les "bits per pixel" moyens conseillés pour tel ou tel type de film, en augmentant ou réduisant la définition de la vidéo pour faire tenir le tout dans un fichier de 700Mo maxi (voir ce type de calculateur).

Maintenant que l'impératif de précision de taille de fichier est devenu négligeable, il est conseillé d'utiliser le CRF pour éviter les mauvaises surprises, tant en sous-qualité qu'en sur-qualité d'image.

Hors ligne

#12 21-11-2017 02:46:13

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : [Résolu] HandbrakeCLI - et les sous titres

J'entends bien. Bref. Je vais passer mes petits scripts entièrement "en CRF" plutôt que le bitrate, tu m'a convaincu que c'était raisonnable tongue

C'est juste désagréable de réencoder des choses et de voir qu'on "gonfle" le poids de certaines vidéos (même avec des CRF aussi bas que 30) pour une qualité forcément inférieure. Le résultat en bitrate donne souvent meilleure conscience - même à tort, et vu que tout réencodage est forcément à perte.

Merci pour ta pédagogie et les tuyaux, j'espère que ça servira à d'autres (et j'ai plus besoin de handbrake o/).

Dernière modification par otyugh (21-11-2017 02:50:39)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#13 21-11-2017 06:37:04

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 3.16.0-4-amd64 - 3.16.39-1
(G)UI : gnome 1:3.14+3
Inscription : 21-10-2008

Re : [Résolu] HandbrakeCLI - et les sous titres

Très fort !
Post mis en lien dans le tuto ffmpeg : https://debian-facile.org/doc:media:ffmpeg?&#liens

"Théo et Adama te rappellent pourquoi Zyed et Bouna couraient…"
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#14 21-11-2017 08:51:37

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 3.16.0-4-amd64 - 3.16.39-1
(G)UI : gnome 1:3.14+3
Inscription : 21-10-2008

Re : [Résolu] HandbrakeCLI - et les sous titres

Bon j'y ai transcrit dans le tuto directement.
ska, à toi de voir si cette transcription-là te convient :
https://debian-facile.org/doc:media:ffm … ate-factor

/me surveille ses rosiers du coin de l'œil... wink

"Théo et Adama te rappellent pourquoi Zyed et Bouna couraient…"
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#15 21-11-2017 20:55:26

ska
Membre
Lieu : tortuga
Distrib. : Debian Jessie
Noyau : Linux 4.9-bpo
(G)UI : KDE 4.14.2
Inscription : 10-01-2014

Re : [Résolu] HandbrakeCLI - et les sous titres

@ otyugh

Désolé, mais je crois que j'ai perdu le fil de ta demande originale en cours de route. big_smile

En remettant les choses dans le contexte, si tu réencodes des vidéos déjà réencodées une première fois, effectivement t'as raison, si le CRF que tu juges suffisant ne te donne pas un gain significatif en taille de fichier, autant garder ton fichier original, sinon ça risque juste de dégrader l'image.

Sinon tu peux faire des essais avec x265, de ce que j'ai vu le fonctionnement est le même. Le wiki ffmpeg dit que l'équivalent au CRF 23 en x264 sera un CRF de 28 en x265. Donc à qualité équivalente tu devrais gagner pas mal en poids. Par contre quand j'avais essayé il y a quelques temps, c'était extrêmement lent. Peut-être que les choses ce sont améliorées depuis.

J'avais fait une petite série de comparaisons avec différents CRF il y a plusieurs années sur le forum ubuntu-fr. Si ça t'intéresses, tu peux y jeter un oeil.
https://forum.ubuntu-fr.org/viewtopic.p … #p15341951


@ smolski

J'avais déjà jeté un oeil il y a 2 ans quand kao voulait remettre la page en concordance avec celle du wiki de debian.org, et j'avais trouvé qu'elle était déjà très complète. Et là je vois que la page est encore plus longue. Je pense qu'il faudrait surtout faire un travail de réorganisation. Par exemple, une partie de mon pense-bête irait plutôt dans les filtres, les points autres que les filtres sont déjà évoqués dans d'autres sections de la page.

Après il faudrait refaire un travail de formulation sur le CRF, parce que là ça se voit beaucoup trop que je parle à quelqu'un et de son problème en particulier. big_smile

Sinon j'aime pas trop bricoler les wikis. J'ai tendance à faire des coupes sur les choses que j'estime "moi" comme non-nécessaires, et je ne me considère pas comme légitime pour juger à la place du lecteur de la pertinence de tel ou tel point.

Si je me sens le courage, je tenterais peut-être de faire une page perso et soumettre à approbation avant de faire la bascule. Mais je m'étais déjà dit la même chose il y a 2 ans et j'ai toujours rien fait. sad

Hors ligne

#16 21-11-2017 21:24:45

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 3.16.0-4-amd64 - 3.16.39-1
(G)UI : gnome 1:3.14+3
Inscription : 21-10-2008

Re : [Résolu] HandbrakeCLI - et les sous titres

ska a écrit :

une partie de mon pense-bête irait plutôt dans les filtres


Le pense-bête a sa place en tant que pense-bête justement.
Qu'il reprenne des thèmes déjà traités ou pas traité du tout dans le wiki lui est légitime et ne porte pas à conséquence.
C'est un outil (excellent !) utile à tous, juste ça.

Pour les détails des commandes, se référer aux autres sections du tuto ou les créer. smile

Pour les commentaires, tu peux y intervenir à ton gré.
Le travail de rédaction sur le wiki n'a pas à être aussi formel que dans les wikis habituels parce qu'ainsi il conserve la spontanéïté qui lui est nécessaire pour appartenir à tous les membres et demeurer ainsi particulièrement lisibles par tous les visiteurs.

Dissocier la page ffmpeg va nous entraîner dans des méandres difficiles à gérer. Des exemples comme pour le GRUB ou GIMP montrent que ce n'est pas forcément une panacée, ou, en tout cas, si on peut léviter ça l'ferait mieux. ...zen.gif

Si tu crées ta page user dans le wiki, on y piochera tout notre gré pour enrichir les tutos communs et les deux resteront référencés dans la recherche du même sujet.
Au bout du bout, df s'essaie surtout à cette formule :

« De chacun selon ses moyens, à chacun selon ses besoins. »

Et basta... smile

Dernière modification par smolski (21-11-2017 21:27:04)


"Théo et Adama te rappellent pourquoi Zyed et Bouna couraient…"
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

Pied de page des forums