Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
subtitles [2019/06/29 15:51]
beandog [DVD Subtitles]
subtitles [2020/10/26 18:49] (current)
beandog [Detect CC]
Line 3: Line 3:
   * [[ffmpeg]]   * [[ffmpeg]]
  
-** WARNING: ** ffmpeg ​might or might not automatically ​mux the closed captioning ​stream into the output file, regardless of whether asked to or not, and it will not show up in the encoding ​map. I haven'​t found a way to explicitly ignore itusing ''​-sn'' ​doesn'​t catch it. The output container may make a difference as well. +** WARNING: ** ffmpeg automatically ​muxes the closed captioning ​in **with libx264** if it exists, and will not show up in the map output, meaning it cannot be disabledAlso, ''​mediainfo'' ​may or may not display ​it, while other applications ​(mplayermpvHandBrakewillIt can be disabled in encoding with ''​-a53cc 0'' ​for libx264. ​Using ''​libx265''​ does not encode the CC at all.
- +
-<​code>​ +
-ffmpeg -i dvd_copy.mpg dvd_copy.mp4 +
-</​code>​ +
- +
-<​code>​ +
-Output #0mp4, to '​dvd_copy.mp4':​ +
-  Metadata: +
-    encoder ​        : Lavf58.20.100 +
-    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661)yuv420p720x480 [SAR 8:9 DAR 4:3], q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc +
-    Metadata: +
-      encoder ​        : Lavc58.35.100 libx264 +
-    Side data: +
-      cpb: bitrate max/​min/​avg:​ 0/0/0 buffer size: 0 vbv_delay: -1 +
-    Stream #0:1: Audio: aac (LC(mp4a / 0x6134706D),​ 48000 Hz, stereo, fltp, 128 kb/s +
-    Metadata: +
-      encoder ​        : Lavc58.35.100 aac +
-</​code>​ +
- +
-Running ​''​mediainfo dvd_copy.mp4'':​ +
- +
-<​code>​ +
-Text +
-ID                                       : 1-CC1 +
-Format ​                                  : EIA-608 +
-Muxing mode                              : SCTE 128 / DTVCC Transport +
-Muxing mode, more info                   : Muxed in Video #1 +
-Duration ​                                : 30 s 30 ms +
-Bit rate mode                            : Constant +
-Stream size                              : 0.00 Byte (0%) +
-Encoded stream size                      : 0.00 Byte (0%) +
-CaptionServiceName ​                      : CC1 +
-</​code>​ +
- +
-Same source, but in a Matroska container does not on this sample: +
- +
-<​code>​ +
-ffmpeg -i dvd_copy.mpg dvd_copy.mkv +
-</​code>​ +
- +
-<​code>​ +
-Output #0, matroska, to 'dvd_copy.mkv'+
-  Metadata: +
-    encoder ​        : Lavf58.20.100 +
-    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248),​ yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=-1--1, 29.97 fps, 1k tbn, 29.97 tbc +
-    Metadata: +
-      encoder ​        : Lavc58.35.100 libx264 +
-    Side data: +
-      cpb: bitrate max/​min/​avg:​ 0/0/0 buffer size: 0 vbv_delay: -1 +
-    Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 48000 Hz, stereo, fltp +
-    Metadata: +
-      encoder ​        : Lavc58.35.100 libvorbis +
-</​code>​ +
- +
-Running ​''​mediainfo dvd_copy.mkv'' ​**does not** have a cc stream in it.+
 ==== Detect VobSub ==== ==== Detect VobSub ====
  
Line 92: Line 37:
  
 For DVDs, closed captioning streams are embedded in the video stream. For DVDs, closed captioning streams are embedded in the video stream.
 +
 +By default, ffmpeg will copy the Closed Captions. Even passing ''​-sn''​ will not disable them. They must be selected using lavfi and modified / ignored that way.
  
 The fastest way is to see if it has closed captioning is using ffprobe and looking for ''​Closed Captions''​ in the output: The fastest way is to see if it has closed captioning is using ffprobe and looking for ''​Closed Captions''​ in the output:

Navigation