どーも、シローです。
ブログとかにアップする動画ってmov形式だと上がらないので、毎回mp4に変換して
その後mp4を圧縮して、、という作業をしてました。
無料のwebサービスでw
非常にめんどくさい、エンジニアならそれくらいもっとスマートにやりたいよね?
今回はそれをコマンド一発で実現できるffmpeg
コマンドについて紹介します。
ffmpegコマンドについて
公式はこちら (https://www.ffmpeg.org/ffmpeg.html)
ぶっちゃけこの時点では読んでねぇけど
冒頭通り、動画を変換したり、圧縮したりするコマンドですね。
インストール
MacOSならbrew
でいけます。
1 |
$ brew install ffmpeg |
試しに圧縮&変換
圧縮&変換は
ffmpeg -i {inputfile} -crf {number} {outputfile}
です。
{...}は引数
引数 | 意味 |
inputfile | 入力ファイル名 |
number | 圧縮率(大きい方がいい) |
outputfile | 出力ファイル名 |
では実際に
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
[shirosmith@localhost ~]$ ffmpeg -i ~/Desktop/mycli-move.mov -crf 15 ~/Desktop/mycli-move.mp4 ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers built with Apple clang version 12.0.0 (clang-1200.0.32.29) configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox libavutil 56. 70.100 / 56. 70.100 libavcodec 58.134.100 / 58.134.100 libavformat 58. 76.100 / 58. 76.100 libavdevice 58. 13.100 / 58. 13.100 libavfilter 7.110.100 / 7.110.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 9.100 / 5. 9.100 libswresample 3. 9.100 / 3. 9.100 libpostproc 55. 9.100 / 55. 9.100 .... frame= 2703 fps=128 q=-1.0 Lsize= 10283kB time=00:00:45.00 bitrate=1871.9kbits/s dup=8 drop=0 speed=2.13x video:10250kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.318025% [libx264 @ 0x7fb1de80c400] frame I:11 Avg QP: 9.79 size:695493 [libx264 @ 0x7fb1de80c400] frame P:684 Avg QP:12.95 size: 3632 [libx264 @ 0x7fb1de80c400] frame B:2008 Avg QP:22.51 size: 180 [libx264 @ 0x7fb1de80c400] consecutive B-frames: 0.6% 0.9% 0.6% 98.0% [libx264 @ 0x7fb1de80c400] mb I I16..4: 13.7% 22.3% 64.0% [libx264 @ 0x7fb1de80c400] mb P I16..4: 0.0% 0.0% 0.1% P16..4: 9.1% 0.1% 0.1% 0.0% 0.0% skip:90.6% [libx264 @ 0x7fb1de80c400] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 2.8% 0.0% 0.0% direct: 0.0% skip:97.2% L0:24.5% L1:75.5% BI: 0.1% [libx264 @ 0x7fb1de80c400] 8x8 transform intra:21.8% inter:66.4% [libx264 @ 0x7fb1de80c400] coded y,uvDC,uvAC intra: 94.6% 86.3% 80.3% inter: 0.6% 1.1% 0.2% [libx264 @ 0x7fb1de80c400] i16 v,h,dc,p: 13% 23% 49% 16% [libx264 @ 0x7fb1de80c400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 4% 29% 21% 6% 6% 3% 12% 5% 15% [libx264 @ 0x7fb1de80c400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 7% 27% 16% 7% 7% 4% 12% 5% 15% [libx264 @ 0x7fb1de80c400] i8c dc,h,v,p: 57% 25% 8% 9% [libx264 @ 0x7fb1de80c400] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x7fb1de80c400] ref P L0: 78.7% 0.1% 9.0% 12.2% [libx264 @ 0x7fb1de80c400] ref B L0: 79.5% 19.7% 0.8% [libx264 @ 0x7fb1de80c400] ref B L1: 82.2% 17.8% [libx264 @ 0x7fb1de80c400] kb/s:1863.82 |
まとめ
- 動画の圧縮&変換なら
ffmpeg
便利なもんですねぇ
新しいシェルプログラミングの教科書
システム管理やソフトウェア開発など、
実際の業務では欠かせないシェルスクリプトの知識を徹底解説ほとんどのディストリビューションでデフォルトとなっているbashに特化することで、
類書と差別化を図るとともに、より実践的なプログラミングを紹介します。
またプログラミング手法の理解に欠かせないLinuxの仕組みについてもできるかぎり解説しました。
イマドキのエンジニア必携の一冊。
システム管理やソフトウェア開発など、
実際の業務では欠かせないシェルスクリプトの知識を徹底解説ほとんどのディストリビューションでデフォルトとなっているbashに特化することで、
類書と差別化を図るとともに、より実践的なプログラミングを紹介します。
またプログラミング手法の理解に欠かせないLinuxの仕組みについてもできるかぎり解説しました。
イマドキのエンジニア必携の一冊。