User Tools

Site Tools


mkv

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mkv [2020-11-23 19:02:00]
mi
mkv [2024-01-27 11:07:45] (current)
mi [Extract subtitles]
Line 26: Line 26:
 </​pre></​blockquote></​HTML>​  </​pre></​blockquote></​HTML>​
  
 +==Extract subtitles
  
-  mkvinfo "$mkv" | perl -00 -ne '@tracks=split ​/^. . . track$/m; foreach ​(@tracks{next unless /subtitles/; ($id,$codec,$lang) = /number: .*?: (\d+).*?​Codec ​ID: (\S+)(?:.*?Language: (\w+))?/s; $codec=~s!/!-!g; print "​mkvextract tracks \"\$mkv\" $id:$id.$lang.$codec\n";}'+  mkvinfo ​--summary ​"$f" ​| head -10 \ 
 +  ​| perl -nle 'if ( /^Track (\d+)subtitles, codec ID: ([A-Z_]+).*extract track ID: (\d+)(?:, language: (\S+))?/ ) { 
 +      warn "$_=$1: type=$2, xtrack=$3, lang=$4\n"​; print "$2 $3 $4" }' \ 
 +  | while read type t lang; do d=$(dirname "​$f"​);​ b=$(basename "​$f"​);​  
 +      echo "#Run this:# ​mkvextract tracks \"\$f\" $t:'$d/$b-$lang-$t.$type'"; ​done
  
 <​HTML><​blockquote><​pre>​ <​HTML><​blockquote><​pre>​
-mkvextract tracks "​$mkv"​ 2:2..S_TEXT-UTF8 +Track 3: subtitles, codec ID: S_TEXT/UTF8, mkvmerge/mkvextract ​track ID: 2, language: por  =  ​3: type=S_TEXT, xtrack=2, lang=por 
-mkvextract ​tracks "​$mkv" ​3:3.ara.S_TEXT-UTF8 +Track 4: subtitles, codec ID: S_TEXT/UTF8, mkvmerge/mkvextract ​track ID3, language: eng  =  4: type=S_TEXT, xtrack=3, lang=eng 
-mkvextract tracks "​$mkv" ​4:4.bul.S_TEXT-UTF8 +... 
-mkvextract ​tracks "​$mkv"​ 5:5.dan.S_TEXT-UTF8 +mkvextract tracks "$f" ​2:'./2-Death.to.2020.2020.720p.WEBRip.800MB.x264-GalaxyRG.mkv-por.S_TEXT' 
-mkvextract tracks "​$mkv"​ 6:6.dut.S_TEXT-UTF8 +mkvextract tracks "$f" ​3:'./3-Death.to.2020.2020.720p.WEBRip.800MB.x264-GalaxyRG.mkv-eng.S_TEXT' 
-mkvextract tracks "$mkv" ​7:7.fin.S_TEXT-UTF8 +...
-mkvextract tracks "​$mkv"​ 8:8.fre.S_TEXT-UTF8 +
-mkvextract tracks "​$mkv"​ 9:9.ger.S_TEXT-UTF8 +
-mkvextract tracks "​$mkv"​ 10:10.hun.S_TEXT-UTF8 +
-mkvextract tracks "$mkv" 11:​11.pol.S_TEXT-UTF8 +
-mkvextract tracks "​$mkv"​ 12:12.por.S_TEXT-UTF8 +
-mkvextract tracks "$mkv" ​13:13.rum.S_TEXT-UTF8 +
-mkvextract tracks "​$mkv"​ 14:14.rus.S_TEXT-UTF8 +
-mkvextract tracks "​$mkv"​ 15:15.spa.S_TEXT-UTF8 +
-mkvextract tracks "​$mkv"​ 16:16.swe.S_TEXT-UTF8 +
-</​pre></​blockquote></​HTML>​  +
- +
- +
-  mkvextract tracks "$mkv" 2:2..S_TEXT-UTF8 +
- +
-<​HTML><​blockquote><​pre>​ +
-Extracting track 2 with the CodecID '​S_TEXT/​UTF8'​ to the file '2..S_TEXT-UTF8'​Container format: SRT text subtitles +
-Progress: 100%+
 </​pre></​blockquote></​HTML>​  </​pre></​blockquote></​HTML>​
  
Line 65: Line 53:
  
   mkvpropedit $mkvfile --chapters $mkvile-chapters.txt   mkvpropedit $mkvfile --chapters $mkvile-chapters.txt
 +
 +* Create chapters file from 2 columns tab-delimited list of timecode and name :
 +<​code>​perl -ne '​BEGIN{$fps=24};​ $c=sprintf("​CHAPTER%02d",​ $n++);
 +  ($tc, $name)=split(/​\t/​);​
 +  $tc =~ s!:​(\d\d)$!sprintf("​.%03d",​$1*1000/​$fps)!e;​
 +  print "​$c=$tc\n",​
 +    "​${c}NAME=$name"'​ $My_ChaptersList_File
 +</​code>​
  
/docs/dokuwiki/data/attic/mkv.1606154520.txt.gz · Last modified: 2020-11-23 19:02:00 by mi