Opened 7 years ago
Closed 7 years ago
#6594 closed defect (invalid)
VLC not displaying h264 closed captions
Reported by: | MayeulC | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
I have a video file in the mkv format, that contains an mp4 video track, in which there are some closed captions:
Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
The closed captions are displayed fine on mpv, but not on vlc (or any other player I tried, for that matter; as they are probably based on ffmpeg).
I have also been unable to extract the subtitle track (though 'ffmpeg -f lavfi -i "movie=input.mp4[out0+subcc]" -map s output.srt' looked promising, it only produces a 0B srt file).
How to reproduce:
Load the video in vlc, and try to turn on the subtitles track: there is none.
Do the same in mpv; subtitles are displayed
I wanted to upload the sample on upload.ffmpeg.org, but it seems to be down, so there it is (1.7MB): https://mega.nz/#!tBZnzAhY!K_PNpxDaRFYXS7firdWw0vAn4GrW8gpzX7-e-5ZlBFY
(The extract might contain some minor spoiler for game of thrones, I don't know as I am not personally interested in the series; the caption is "I wish you all the happiness in the world")
List of what was tried:
Players/tools I tried:
Android: MX Player, Mobo Player, VLC for android -- failure | mpv-android: success
Tools: mkvinfo, HandBrake, MKVToolNix don't display any subtitle track (I stress that the track is embedded in the h264 video stream).
Linux: VLC, Dragon Player, MPlayer, Kodi --failure | mpv: success
I tried this both on the mkv container and the extracted video track in a mp4 container (where possible).
The output of 'ffmpeg -f lavfi -i "movie=test.mp4[out0+subcc]"' has:
Input #0, lavfi, from 'movie=test.mp4[out0+subcc]': Duration: N/A, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1200k tbr, 1200k tbn, 1200k tbc Stream #0:1: Subtitle: eia_608
ffmpeg version (running on an updated Arch Linux):
ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.1.1 (GCC) 20170630 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3 libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57. 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libavresample 3. 5. 0 / 3. 5. 0 libswscale 4. 6.100 / 4. 6.100 libswresample 2. 7.100 / 2. 7.100 libpostproc 54. 5.100 / 54. 5.100
Attachments (1)
Change History (2)
by , 7 years ago
Attachment: | h.264_embedded_cc.mkv added |
---|
comment:1 by , 7 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
You would have to report this to VLC (or any other player), not to ffmpeg.
As you have proven yourself, ffmpeg not only detects the CC data, but can also extract it using the lavfi subcc method. CC is a bit special and needs handling on the players side of things, nothing ffmpeg can really do about that.
Problematic video file