Differences
This shows you the differences between two versions of the page.
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 it, using ''-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 disabled. Also, ''mediainfo'' may or may not display it, while other applications (mplayer, mpv, HandBrake) will. It 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 #0, mp4, to 'dvd_copy.mp4': | + | |
- | Metadata: | + | |
- | encoder : Lavf58.20.100 | + | |
- | Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 720x480 [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: |