#1840: "codec not currently supported in container" should give a recommendation for 3gpp timed text subs -------------------------------------+------------------------------------ Reporter: Atarikid | Owner: Type: enhancement | Status: reopened Priority: wish | Component: FFmpeg Version: git-master | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------
Comment (by compn): well his bug is that , when using ffmpeg to create an mp4 file with text subs, the subs do not work in quicktime. i have just reproduced this with ffmpeg and quicktime. C:\>ffmpeg -i SAMPLE.AVI -i test.srt -c:s mov_text out.mp4 ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers built on Nov 25 2012 12:21:26 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enab le-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable- libopencore-amrnb --enable-libop encore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libop enjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheo ra --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-lib vpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 9.100 / 52. 9.100 libavcodec 54. 77.100 / 54. 77.100 libavformat 54. 37.100 / 54. 37.100 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 23.102 / 3. 23.102 libswscale 2. 1.102 / 2. 1.102 libswresample 0. 17.101 / 0. 17.101 libpostproc 52. 2.100 / 52. 2.100 Guessed Channel Layout for Input Stream #0.1 : mono Input #0, avi, from 'SAMPLE.AVI': Duration: 00:00:07.00, start: 0.000000, bitrate: 1168 kb/s Stream #0:0: Video: cinepak (cvid / 0x64697663), yuv420p, 320x240, 15 tbr, 15 tbn, 15 tbc Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 22050 Hz, mono, u8, 176 kb/s [srt @ 024f0140] Estimating duration from bitrate, this may be inaccurate Input #1, srt, from 'test.srt': Duration: N/A, bitrate: N/A Stream #1:0: Subtitle: subrip [libx264 @ 024f44c0] using cpu capabilities: MMX2 SSE2Slow SlowCTZ [libx264 @ 024f44c0] profile High, level 1.2 [libx264 @ 024f44c0] 264 - core 128 r2216 198a7ea - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - ht tp://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subm e=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21, 11 fast_pskip=1 chroma_qp_offset=-2 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 i nterlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 we ightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=15 scenecut=40 intra_refresh=0 rc_lookahead=40 rc =crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf54.37.100 Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 320x240, q=-1--1, 500k tbn, 15 tbc Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 22050 Hz, mono, s16, 128 kb/s Stream #0:2: Subtitle: mov_text ([8][0][0][0] / 0x0008) Stream mapping: Stream #0:0 -> #0:0 (cinepak -> libx264) Stream #0:1 -> #0:1 (pcm_u8 -> libvo_aacenc) Stream #1:0 -> #0:2 (subrip -> mov_text) Press [q] to stop, [?] for help frame= 105 fps= 18 q=27.0 Lsize= 657kB time=00:00:07.03 bitrate= 765.6kbits/s video:541kB audio:111kB subtitle:0 global headers:0kB muxing overhead 0.748301% [libx264 @ 024f44c0] frame I:6 Avg QP:24.73 size: 8226 [libx264 @ 024f44c0] frame P:83 Avg QP:25.75 size: 5226 [libx264 @ 024f44c0] frame B:16 Avg QP:27.47 size: 4400 [libx264 @ 024f44c0] consecutive B-frames: 69.5% 30.5% 0.0% 0.0% [libx264 @ 024f44c0] mb I I16..4: 47.5% 3.6% 48.9% [libx264 @ 024f44c0] mb P I16..4: 32.6% 9.3% 26.0% P16..4: 16.1% 9.3% 4.5% 0.0% 0.0% skip: 2.2% [libx264 @ 024f44c0] mb B I16..4: 7.0% 1.4% 11.3% B16..8: 25.6% 17.0% 10.4% direct:24.5% skip: 2.9% L0:40.8% L1:36.2% BI:23.0% [libx264 @ 024f44c0] 8x8 transform intra:12.5% inter:10.2% [libx264 @ 024f44c0] coded y,uvDC,uvAC intra: 80.5% 90.2% 74.3% inter: 67.8% 55.6% 10.7% [libx264 @ 024f44c0] i16 v,h,dc,p: 17% 25% 41% 16% [libx264 @ 024f44c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 17% 54% 3% 1% 2% 2% 2% 4% [libx264 @ 024f44c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 27% 29% 3% 1% 1% 1% 2% 2% [libx264 @ 024f44c0] i8c dc,h,v,p: 61% 20% 15% 5% [libx264 @ 024f44c0] Weighted P-Frames: Y:8.4% UV:6.0% [libx264 @ 024f44c0] ref P L0: 64.0% 15.7% 15.1% 5.0% 0.1% [libx264 @ 024f44c0] ref B L0: 83.4% 16.6% [libx264 @ 024f44c0] kb/s:632.58 here is a mov file with closed captions that works in quicktime: http://www.cpcweb.com/webcasts/cpcdemo.mov i could not get these to work with ffplay. i'm not sure if they are '3gpp timed text' or something else. here is psuedo code for better error message: diff --git a/libavformat/movenc.c b/libavformat/movenc.c index f08aa7e..3258597 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -3586,6 +3586,9 @@ static int mov_write_header(AVFormatContext *s) if (!track->tag) { av_log(s, AV_LOG_ERROR, "track %d: could not find tag, " "codec not currently supported in container\n", i); + if (!track->subtitletag) { + av_log(s, AV_LOG_ERROR, "track %d: subtitle tag not standard in mov, " + "please try -c:s mov_text\n", i); goto error; } /* If hinting of this track is enabled by a later hint track, -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1840#comment:9> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://avcodec.org/mailman/listinfo/ffmpeg-trac