コンテンツにスキップ

Top

webm 動画を mp4 動画に ffmpeg を使って変換する

Ubuntu とかの標準録画機能(Ctrl+Alt+Shift+r)で録画した場合、できる動画はwebm形式になる。

...なにこれ?聞いたことないんだけど。

まぁでもVLCで再生できるしいっか?と放置。

が、仕事でスクリーンキャプチャ動画を相手先に送ることになり、あれ?こんな聞いたことのない形式で送りつけてええの?と思ったのでメジャーなmp4に変換することにした。

ffmpegで動画変換

以下の手順でwebm動画をmp4に変換できる。(拡張子で変換後の動画を自動識別する模様)

1
$ ffmpeg -i test.webm -r 30 test.mp4

-iっているの?と思って削除したら、

1
Output file #0 does not contain any stream

というエラーがでてだめだったので必要。

-rで指定しているのはフレームレート。
元の動画のフレームレートがいくつか知りたい場合は動画ファイルを右クリックすればわかるけど、コマンドラインしかない場合は以下で確認できる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
$ ffmpeg -i test.webm
ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, matroska,webm, from 'test.webm':
  Metadata:
    encoder         : GStreamer matroskamux version 1.14.5
    creation_time   : 2021-10-08T08:35:08.000000Z
  Duration: 00:00:16.91, start: 0.015000, bitrate: 223 kb/s
    Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, progressive), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      title           : Video

わかりにくいが、

1
    Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, progressive), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)

とあるので、30 fpsである。

以上!