Add option to use only subtitles marked with the "Forced" tag

Issue #875 new
Giovanni Musto created an issue

Subtitles are really useful. They were used mainly by the hearing impaired people, but with the diffusion of the Internet they became very popular among all the people. There are three kind of subtitles: 1. The closed captions, for the hearing impaired people: they not only have a transcription of the dialogues, but they also include descriptions of the sounds that deaf people can't hear. 2. The subtitles in another language: in many countries where English, as a second language, is spoke by the largest part of the population it's common practice to distribute the movies without dubbing, but with subtitles. This kind of subtitles are also found in many home video supports, like DVDs and BDs. 3. The subtitles as a little help: even when movies are dubbed, there are some things that can't be translated, like some signs on the street or the speaking of a character in a foreign language (usually Russian). This kind of subtitles makes possible to distribute the same video file to all the countries, without having to burn the translation on screen. The localization team will then dub the movie if necessary and translate the subtitles.

When converting a DVD to MKV often both the "helper" subtitles and the closed captions are preserved, marking the former as "Forced". They are usually found before the closed captions, for example stream 0 is the video, stream 1 and 2 are two audio streams, stream 3 and 4 are the "helper" subtitles for both languages and stream 5 and 6 are the closed captions subtitles. Some files however don't have "helper" subtitles and Serviio would burn the closed captions.

What I'm requesting is an option to use the subtitles only if they're marked as "Forced".

Thank you in advance.

Comments (10)

  1. Petr Nejedly repo owner

    @Rapper_skull

    If you look at #730, it looks like there are Default / Forced subtitles and then after subs with a language code. That ticket suggest to use Forced/Default subs even if no language code is found.

    Can you post a few ffmpeg -i for your files to see what structure you're talking about?

  2. Petr Nejedly repo owner
    ffmpeg -i "/media.mkv"
    ffmpeg version N-75677-g16aac9a Copyright (c) 2000-2015 the FFmpeg developers
      built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
      configuration: --prefix=/home/rapperskull/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/rapperskull/ffmpeg_build/include --extra-ldflags=-L/home/rapperskull/ffmpeg_build/lib --bindir=/home/rapperskull/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-librtmp
      libavutil      55.  2.100 / 55.  2.100
      libavcodec     57.  3.100 / 57.  3.100
      libavformat    57.  2.102 / 57.  2.102
      libavdevice    57.  0.100 / 57.  0.100
      libavfilter     6.  9.101 /  6.  9.101
      libswscale      4.  0.100 /  4.  0.100
      libswresample   2.  0.100 /  2.  0.100
      libpostproc    54.  0.100 / 54.  0.100
    Input #0, matroska,webm, from '/media.mkv':
      Metadata:
        title           : Avatar Extended Cut
        encoder         : libebml v1.3.0 + libmatroska v1.4.1
        creation_time   : 2014-02-13 15:42:08
      Duration: 02:58:09.70, start: 0.000000, bitrate: 2921 kb/s
        Chapter #0:0: start 0.000000, end 325.575000
        Metadata:
          title           : Chapter 01
        Chapter #0:1: start 325.575000, end 612.278000
        Metadata:
          title           : Chapter 02
        Chapter #0:2: start 612.278000, end 624.457000
        Metadata:
          title           : Chapter 03
        Chapter #0:3: start 624.457000, end 637.303000
        Metadata:
          title           : Chapter 04
        Chapter #0:4: start 637.303000, end 707.915000
        Metadata:
          title           : Chapter 05
        Chapter #0:5: start 707.915000, end 959.208000
        Metadata:
          title           : Chapter 06
        Chapter #0:6: start 959.208000, end 1074.781000
        Metadata:
          title           : Chapter 07
        Chapter #0:7: start 1074.781000, end 1434.891000
        Metadata:
          title           : Chapter 08
        Chapter #0:8: start 1434.891000, end 1674.547000
        Metadata:
          title           : Chapter 09
        Chapter #0:9: start 1674.547000, end 1682.555000
        Metadata:
          title           : Chapter 10
        Chapter #0:10: start 1682.555000, end 1725.223000
        Metadata:
          title           : Chapter 11
        Chapter #0:11: start 1725.223000, end 1814.020000
        Metadata:
          title           : Chapter 12
        Chapter #0:12: start 1814.020000, end 1827.617000
        Metadata:
          title           : Chapter 13
        Chapter #0:13: start 1827.617000, end 1924.464000
        Metadata:
          title           : Chapter 14
        Chapter #0:14: start 1924.464000, end 1947.904000
        Metadata:
          title           : Chapter 15
        Chapter #0:15: start 1947.904000, end 2236.525000
        Metadata:
          title           : Chapter 16
        Chapter #0:16: start 2236.525000, end 2348.053000
        Metadata:
          title           : Chapter 17
        Chapter #0:17: start 2348.053000, end 2478.475000
        Metadata:
          title           : Chapter 18
        Chapter #0:18: start 2478.475000, end 2863.318000
        Metadata:
          title           : Chapter 19
        Chapter #0:19: start 2863.318000, end 2889.177000
        Metadata:
          title           : Chapter 20
        Chapter #0:20: start 2889.177000, end 2956.912000
        Metadata:
          title           : Chapter 21
        Chapter #0:21: start 2956.912000, end 3185.015000
        Metadata:
          title           : Chapter 22
        Chapter #0:22: start 3185.015000, end 3262.008000
        Metadata:
          title           : Chapter 23
        Chapter #0:23: start 3262.008000, end 3342.213000
        Metadata:
          title           : Chapter 24
        Chapter #0:24: start 3342.213000, end 3464.043000
        Metadata:
          title           : Chapter 25
        Chapter #0:25: start 3464.043000, end 3512.050000
        Metadata:
          title           : Chapter 26
        Chapter #0:26: start 3512.050000, end 3669.415000
        Metadata:
          title           : Chapter 27
        Chapter #0:27: start 3669.415000, end 3789.619000
        Metadata:
          title           : Chapter 28
        Chapter #0:28: start 3789.619000, end 3837.208000
        Metadata:
          title           : Chapter 29
        Chapter #0:29: start 3837.208000, end 4023.227000
        Metadata:
          title           : Chapter 30
        Chapter #0:30: start 4023.227000, end 4180.634000
        Metadata:
          title           : Chapter 31
        Chapter #0:31: start 4180.634000, end 4310.222000
        Metadata:
          title           : Chapter 32
        Chapter #0:32: start 4310.222000, end 4518.889000
        Metadata:
          title           : Chapter 33
        Chapter #0:33: start 4518.889000, end 4553.799000
        Metadata:
          title           : Chapter 34
        Chapter #0:34: start 4553.799000, end 4652.230000
        Metadata:
          title           : Chapter 35
        Chapter #0:35: start 4652.230000, end 4687.891000
        Metadata:
          title           : Chapter 36
        Chapter #0:36: start 4687.891000, end 4958.119000
        Metadata:
          title           : Chapter 37
        Chapter #0:37: start 4958.119000, end 5159.487000
        Metadata:
          title           : Chapter 38
        Chapter #0:38: start 5159.487000, end 5172.709000
        Metadata:
          title           : Chapter 39
        Chapter #0:39: start 5172.709000, end 5262.298000
        Metadata:
          title           : Chapter 40
        Chapter #0:40: start 5262.298000, end 5274.435000
        Metadata:
          title           : Chapter 41
        Chapter #0:41: start 5274.435000, end 5580.408000
        Metadata:
          title           : Chapter 42
        Chapter #0:42: start 5580.408000, end 5763.424000
        Metadata:
          title           : Chapter 43
        Chapter #0:43: start 5763.424000, end 5856.642000
        Metadata:
          title           : Chapter 44
        Chapter #0:44: start 5856.642000, end 5856.892000
        Metadata:
          title           : Chapter 45
        Chapter #0:45: start 5856.892000, end 6255.290000
        Metadata:
          title           : Chapter 46
        Chapter #0:46: start 6255.290000, end 6409.235000
        Metadata:
          title           : Chapter 47
        Chapter #0:47: start 6409.235000, end 6494.029000
        Metadata:
          title           : Chapter 48
        Chapter #0:48: start 6494.029000, end 6538.198000
        Metadata:
          title           : Chapter 49
        Chapter #0:49: start 6538.198000, end 6602.595000
        Metadata:
          title           : Chapter 50
        Chapter #0:50: start 6602.595000, end 6713.581000
        Metadata:
          title           : Chapter 51
        Chapter #0:51: start 6713.581000, end 7110.895000
        Metadata:
          title           : Chapter 52
        Chapter #0:52: start 7110.895000, end 7333.284000
        Metadata:
          title           : Chapter 53
        Chapter #0:53: start 7333.284000, end 7671.663000
        Metadata:
          title           : Chapter 54
        Chapter #0:54: start 7671.663000, end 7770.554000
        Metadata:
          title           : Chapter 55
        Chapter #0:55: start 7770.554000, end 7956.615000
        Metadata:
          title           : Chapter 56
        Chapter #0:56: start 7956.615000, end 8163.363000
        Metadata:
          title           : Chapter 57
        Chapter #0:57: start 8163.363000, end 8371.654000
        Metadata:
          title           : Chapter 58
        Chapter #0:58: start 8371.654000, end 8639.630000
        Metadata:
          title           : Chapter 59
        Chapter #0:59: start 8639.630000, end 9005.079000
        Metadata:
          title           : Chapter 60
        Chapter #0:60: start 9005.079000, end 9133.290000
        Metadata:
          title           : Chapter 61
        Chapter #0:61: start 9133.290000, end 9179.211000
        Metadata:
          title           : Chapter 62
        Chapter #0:62: start 9179.211000, end 9236.852000
        Metadata:
          title           : Chapter 63
        Chapter #0:63: start 9236.852000, end 9292.908000
        Metadata:
          title           : Chapter 64
        Chapter #0:64: start 9292.908000, end 9602.259000
        Metadata:
          title           : Chapter 65
        Chapter #0:65: start 9602.259000, end 9645.886000
        Metadata:
          title           : Chapter 66
        Chapter #0:66: start 9645.886000, end 9663.987000
        Metadata:
          title           : Chapter 67
        Chapter #0:67: start 9663.987000, end 9933.214000
        Metadata:
          title           : Chapter 68
        Chapter #0:68: start 9933.214000, end 9990.813000
        Metadata:
          title           : Chapter 69
        Chapter #0:69: start 9990.813000, end 10008.498000
        Metadata:
          title           : Chapter 70
        Chapter #0:70: start 10008.498000, end 10136.793000
        Metadata:
          title           : Chapter 71
        Chapter #0:71: start 10136.793000, end 10151.724000
        Metadata:
          title           : Chapter 72
        Chapter #0:72: start 10151.724000, end 10292.073000
        Metadata:
          title           : Chapter 73
        Chapter #0:73: start 10292.073000, end 10688.469000
        Metadata:
          title           : Chapter 74
        Chapter #0:74: start 10688.469000, end 10689.696000
        Metadata:
          title           : Chapter 75
        Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default) (forced)
        Metadata:
          title           : Video H.265 (Encoded by ZMachine)
        Stream #0:1(ita): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
        Metadata:
          title           : Audio AC3
        Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
        Metadata:
          title           : Audio AC3
        Stream #0:3(ita): Subtitle: ass (default) (forced)
        Metadata:
          title           : Sub Forced
        Stream #0:4(ita): Subtitle: ass
        Metadata:
          title           : Sub
        Stream #0:5(eng): Subtitle: ass
        Metadata:
          title           : Sub
    At least one output file must be specified
    
  3. Petr Nejedly repo owner

    I'm not sure how these 2 tickets should work together.

    One introduces a checkbox to Use default if not language is matched.

    I guess the same would work in your case, no?

  4. Giovanni Musto reporter

    Not exactly, since when a file does not contain the "forced" track, the normal one will be burned, while I don't want subtitles at all except for the forced ones.

  5. Petr Nejedly repo owner

    did you try to use 'forced' as a preferred language in the console? I think it could work and would do the thing that you need, no?

  6. Giovanni Musto reporter

    Unfortunately it does not work, since "forced" is just a flag and not the language.

  7. Giovanni Musto reporter

    Since 1.7 is adding a lot of audio and subtitles changes, do we have any chance to see this implemented in that version?

  8. Log in to comment