備忘録2018-10-06ffmpegでTS(m2ts)ファイルをmp4に変換ffmpeg↓コマンドで動画名を入力しないですむ、もっと楽な方法を書きました。※注意:この記事の環境はUbuntu14.04です。現在の僕のUbuntu18.04環境では再生時の音声トラブルも、WinFF変換時の音声トラブルもなくなったっぽいです。普通にWinFFを使えばトラブルなく変換できています。ZIP」でzipファイルをダウンロードしてインストールすればいいはず。使ったことはないけど、これも良さげ。動画の変換はGUIのWinFFというソフトがシンプルで簡単だったのでそれを使っていた。あるTSファイルをWinFFでmp4に変換したら、変換後のmp4から音声が出ない...。あるTSファイルとはNHKの番組を録画したもので、目的の番組の前にニュースなどがちょっとだけ録画されてしまっていて、vlcで再生する際に音声がスローになってブツブツ切れてしまうファイル(界隈では結構有名な音声切り替えによるトラブル)。TSファイルを見るだけなら、vlc再生時に一度音声を無効にしてから、また音声を有効にすればよいのだが、そのままだとファイルサイズが巨大すぎるのでmp4に変換してファイルサイズを小さくしたい。WindowsならTsSplitterというソフトで対処できるらしい。音声切替で問題が出るtsファイルをTsSplitterで分割して対処するが、僕はUbuntuだし、わざわざwineを使ってまでWindowsのソフトを使いたくはない。そこでいろいろ調べて、試行錯誤した結果、次のようにすれば問題のあるTSファイルでも変換できた。シェルスクリプト以下のような「tstomp4.sh」を作る。(べつにシェルスクリプトを作らなくても、好きなものを選んで、端末で実行してもいい。動画名を2回入力するのが面倒なので、これを作った。$1.mp4音声切り替えトラブルのないTSファイルなら、上記の「音声エンコードなし」でもいいのだが、音声切り替えトラブルがあるTSファイルの場合は「音声ac3」(ac3はDVD-Videoの音声コーデック)か「音声aac」にする。上記スクリプトでは「音声aac」にしている(それ以外はコメントアウトしている)。下記コマンドで入力する動画ファイル名が挿入される。下記コマンドで入力する変換開始時間が挿入される(x秒後のところから変換する)。変換開始時間は目的の番組が始まった以降の時間を入れる。「tstomp4.sh」と変換したいTSファイルを同じフォルダに入れて、端末で開いて以下を実行。