title: Set a subtitle language using ffmpeg
body: <p>I tried googling a way to set the language of a subtitle stream with ffmpeg and found the -slang option. So I tried the following command but immediately receive an error:</p>
  
  <pre><code>ffmpeg -i input.avi -i subs.srt -c:a copy -c:s mov_text -slang eng -c:v libx264 -profile:v high -level:v 4.0 output.mp4
  ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul 18 2013 23:00:53 with Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
  </code></pre>
  
  <blockquote>
    <p>libavutil      52. 13.100 / 52. 13.100</p>
    
    <p>libavcodec     54. 86.100 / 54. 86.100</p>
    
    <p>libavformat    54. 59.106 / 54. 59.106</p>
    
    <p>libavdevice    54.  3.102 / 54.  3.102</p>
    
    <p>libavfilter     3. 32.100 /  3. 32.100</p>
    
    <p>libswscale      2.  1.103 /  2.  1.103</p>
    
    <p>libswresample   0. 17.102 /  0. 17.102</p>
    
    <p>libpostproc    52.  2.100 / 52.  2.100</p>
    
    <p>Unrecognized option 'slang'.</p>
    
    <p>Error splitting the argument list: Option not found</p>
  </blockquote>
  
  <p>After more googling I found another way to do it using the -metadata command:</p>
  
  <pre><code>ffmpeg -i input.mp4 -i subs.srt -c:a copy -c:v copy -c:s mov_text -metadata:s:s:0 language=eng output.mp4
  </code></pre>
  
  <p>And that works absolutely fine. But this isn't mentioned in the ffmpeg man page, whereas -slang is, which makes me think the -metadata command is maybe outdated or in some other way not as good as -slang.</p>
  
  <ol>
  <li>What is the difference between using the two above methods (-slang vs -metadata)?</li>
  <li>Why did my -slang command give an error? Have I used it incorrectly?</li>
  </ol>