Answers.Body: <p><a href="http://en.wikipedia.org/wiki/MPEG-4_Part_17" rel="nofollow">http://en.wikipedia.org/wiki/MPEG-4_Part_17</a>
  "Timed Text" Format comes in many flavors</p>
  
  <p>example tools would be ffmpeg, subler, mp4box</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-03-02T20:01:52.040Z
Answers.LastActivityDate: 2015-03-02T20:01:52.040Z
Answers.UserDisplayName: Andrew
Answers.Body: <p>If you can use mkv instead of mp4 as your container format, there is widespread player and muxer support for various subtitle formats in <a href="http://www.matroska.org/" rel="nofollow">matroska</a>.  (widespread throughout free / open source software.  I can't comment on other players.)</p>
  
  <p>Then you can use SRT, ASS, and many other text subtitle formats.  You can even use bitmap sub formats like VOBSUB (dvd) or PGS (blu-ray).</p>
  
  <p><a href="https://en.wikipedia.org/wiki/Subtitle_%28captioning%29#For_software_video_players" rel="nofollow">wikipedia</a> has an interesting table of subtitle formats.</p>
  
  <p>To properly answer your question, though, I just tried muxing SRT subs into an mp4.  It doesn't work.</p>
  
  <p><code>ffmpeg -i in.mkv -i in.srt -c copy /var/tmp/out.mkv</code>  # works<br>
  <code>ffmpeg -i in.mkv -i in.srt -c copy /var/tmp/out.mp4</code>  # just timestamps</p>
  
  <p>The mp4 has a <code>mov_text</code> stream, but displaying it in <a href="http://mpv.io/" rel="nofollow">mpv</a> just shows "00:00:00.000" or some other timestamp, with no text.  Ok, apparently ffmpeg doesn't get it right unless you specifically use <code>-c:s mov_text</code>.  If you use <code>-map 0 -map 1</code>, I get </p>
  
  <pre><code>  Stream #1:0 -&gt; #0:2 (subrip (srt) -&gt; ? (?))
  Encoder (codec none) not found for output stream #0:2
  </code></pre>
  
  <p>(My subs are in a separate file, not muxed in the mkv, so I need a -map for each to make sure I take all streams from all files.  Otherwise ffmpeg just takes the first a, v, and sub stream it finds.  And without <code>-map 1</code>, it doesn't try to use the srt input at all, for some reason.  Like I said, it makes a mov_text stream, though.)</p>
  
  <p>Anyway, I left in my mis-steps in case they're helpful when you're trying to figure out this stuff yourself.  This works and plays with subs in mpv:</p>
  
  <pre><code>ffmpeg -i in.mkv -i in.srt -codec copy -c:s mov_text /var/tmp/out.mp4
  </code></pre>
  
  <p>The key line in the output is:</p>
  
  <pre><code>  Stream #1:0 -&gt; #0:2 (subrip (srt) -&gt; mov_text (native))
  </code></pre>
  
  <p>For editting your subtitles, you can use anything that can produce a subtitle format that ffmpeg can read.  (It should be able to convert any text-based format to mov_text.)  <a href="http://www.nikse.dk/subtitleedit/" rel="nofollow">Subtitle Edit</a> is one of the newer better-maintained GUIs, and runs on Windows and Linux at least.  IDK about OS X.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-03-03T05:12:22.910Z
Answers.LastActivityDate: 2015-03-03T05:31:10.497Z
Answers.LastEditDate: 2015-03-03T05:31:10.497Z
Answers.UserDisplayName: Peter Cordes
Body: <p>I am going to be working on a video project that needs closed captioning. The requirement we got from the client says....</p>
  
  <p><strong>Closed Captioning</strong></p>
  
  <ul>
  <li>Embedded Timed Text subtitle track (ISO/IEC 14496-17)</li>
  </ul>
  
  <p>After doing some research I haven't been able to find anything that would let you embed a Timed Text file into a video. Is that even possible? What would be the process for accomplishing this? I am using Adobe Premiere.</p>
  
Tags: <subtitles>
Title: Embedded Timed Text for closed-captioning? Is that possible?
UserDisplayName: Dustin
ThreadText: # Embedded Timed Text for closed-captioning? Is that possible?
  
  (Asked by: username_0 on 2015-02-17)
  
  I am going to be working on a video project that needs closed captioning. The requirement we got from the client says....
  
  **Closed Captioning**
  
  * Embedded Timed Text subtitle track (ISO/IEC 14496-17)
  
  After doing some research I haven't been able to find anything that would let you embed a Timed Text file into a video. Is that even possible? What would be the process for accomplishing this? I am using Adobe Premiere.
  
  **Tags:** subtitles
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2015-03-02. Score: 1
  
  <http://en.wikipedia.org/wiki/MPEG-4_Part_17>
  "Timed Text" Format comes in many flavors
  
  example tools would be ffmpeg, subler, mp4box
  
  
  ---
  
  ### Answer by username_2 on 2015-03-03. Score: 1
  
  If you can use mkv instead of mp4 as your container format, there is widespread player and muxer support for various subtitle formats in [matroska](http://www.matroska.org/). (widespread throughout free / open source software. I can't comment on other players.)
  
  Then you can use SRT, ASS, and many other text subtitle formats. You can even use bitmap sub formats like VOBSUB (dvd) or PGS (blu-ray).
  
  [wikipedia](https://en.wikipedia.org/wiki/Subtitle_%28captioning%29#For_software_video_players) has an interesting table of subtitle formats.
  
  To properly answer your question, though, I just tried muxing SRT subs into an mp4. It doesn't work.
  
  `ffmpeg -i in.mkv -i in.srt -c copy /var/tmp/out.mkv` # works  
  `ffmpeg -i in.mkv -i in.srt -c copy /var/tmp/out.mp4` # just timestamps
  
  The mp4 has a `mov_text` stream, but displaying it in [mpv](http://mpv.io/) just shows "00:00:00.000" or some other timestamp, with no text. Ok, apparently ffmpeg doesn't get it right unless you specifically use `-c:s mov_text`. If you use `-map 0 -map 1`, I get
  
  ```
    Stream #1:0 -> #0:2 (subrip (srt) -> ? (?))
  Encoder (codec none) not found for output stream #0:2
  
  ```
  
  (My subs are in a separate file, not muxed in the mkv, so I need a -map for each to make sure I take all streams from all files. Otherwise ffmpeg just takes the first a, v, and sub stream it finds. And without `-map 1`, it doesn't try to use the srt input at all, for some reason. Like I said, it makes a mov\_text stream, though.)
  
  Anyway, I left in my mis-steps in case they're helpful when you're trying to figure out this stuff yourself. This works and plays with subs in mpv:
  
  ```
  ffmpeg -i in.mkv -i in.srt -codec copy -c:s mov_text /var/tmp/out.mp4
  
  ```
  
  The key line in the output is:
  
  ```
    Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native))
  
  ```
  
  For editting your subtitles, you can use anything that can produce a subtitle format that ffmpeg can read. (It should be able to convert any text-based format to mov\_text.) [Subtitle Edit](http://www.nikse.dk/subtitleedit/) is one of the newer better-maintained GUIs, and runs on Windows and Linux at least. IDK about OS X.
  
  
  ---
  
  