GoogleフォトやAmazonフォトはtsファイルは受け付けない
Googleフォトではtsファイルのアップロードを拒否されました。
Amazonフォトではアップロードはできましたが、再生ができませんでした。
ということでこれらにアップロードするにはtsファイルを変換しないといけません。
ffmpegでtsファイルを変換する
Encoding video for the web · GitHub
このページがとても参考になりました。
H.264のmp4へ変換
ffmpeg -i soruce.ts -vcodec h264 -acodec aac -strict -2 output.mp4
VP8のWebMへ変換
ffmpeg -i soruce.ts -vcodec libvpx -qmin 0 -qmax 50 -crf 10 -b:v 1M -acodec libvorbis output.webm
VP9のWebMへ変換
ffmpeg -i soruce.ts -vcodec libvpx-vp9 -b:v 1M -acodec libvorbis output.webm
VP9の最画質のWebMへの変換
ffmpeg -i soruce.ts -c:v libvpx-vp9 -pass 1 -b:v 1000K -threads 1 -speed 4 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 25 -g 9999 -aq-mode 0 -an -f webm /dev/null
これでまずffmpeg2pass-0.logファイルが出力されます。
ffmpeg -i soruce.ts -c:v libvpx-vp9 -pass 2 -b:v 1000K -threads 1 -speed 0 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 25 -g 9999 -aq-mode 0 -c:a libopus -b:a 64k -f webm output.webm
これでwebmファイルが出力されます。
変換後のファイルサイズ
963.5KiBのsource.tsを変換すると、H.264のmp4は916.9KiBとサイズが少し小さくなりました。
VP8のWebMだとさらに小さくなって889.2KiBになりました。
それに対してVP9のWebMは1.4MBとサイズが大きくなってしまいました。
VP9の最画質のWebMは1.5MBになりました。
変換後の動画形式
MediaInfoで動画形式を調べました。
source.ts
h264.mp4
VP8.webm
VP9.webm
VP9best.webm
tsファイルをwebmファイルに変換するシェルスクリプトts2webm.sh
元のファイルと同じフォルダに出力します。
出力先フォルダの指定するバージョン。
日付の古いファイルから変換するバージョン。
変換後のファイルの存在を確認するバージョン。ファイル名しかチェックしていません。
前日に作成されたファイルのみ変換するシェルスクリプトts2webm_yesterday.sh。
1 1 * * * ~/ts2webm_yesterday.sh
シェルスクリプトをホームフォルダに置いてcron.confにこれを登録すると毎日午前1時1分に自動実行されます。
参考にしたページ
【シェル芸人への道】Bashの変数展開と真摯に向き合う - Qiita
シェル変数の文字列操作の解説。
ループで使うにはffmpeg に </dev/null を足さないと処理されないファイルがでてくる。
0 件のコメント:
コメントを投稿