Fin Auto Code Finance Automation

FFmpeg&Handbrake

Uncategorized


■FFmpeg:Fast Forward Mpeg(The Moving Picture Experts Group (MPEG)):ビデオ、オディオ処理するopensourse ツール

■ファイルのプロバテを確認する、下記のコマンド、プロンプトに打ち込む

ffprobe out.mp3

 

■ビデオ/オディオの包装式の変更(.mov→.mp4)

ffmpeg -i input.mov output.mp4

・ -i : input

・ファイルの名前にスペースを使ってはいけない。それはコマンドの中で、スペースはデリミタ[delimiter]/セパレート[separator]として使われている。

→ファイルの名前スペースが入っている時、ファイル名前[” ”]をつける

■ビデオ/オディオのエンコーとは=圧縮方法)

ffmpeg -codecs  # サポートしているエンコード方法を閲覧

・一般的に使われているエンコード方式

①MP4(H264ビデオ+AACオディオ) →一般的なネット上の動画、おすすめ

②WebM(VP8ビデオ+Vorbisオディオ) →google開発、youtubeがこれを使っている

③OGG(Theoraビデオ+Vorbisオディオ) →オープンソース

■音声のエンコードする

ある音楽が自分の音楽プレイヤーソフトで再生できない。

エンコードして、音楽プレイヤーが支持できるエンコードへ変換する。

ffmpeg -i in.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 out. mp3

・-i in.flac:in.flacファイルをinputインプット

・-acodec: a(audio) codec(decoder coder/decode the encode program )

・libmp3lame:mp3のencode式、省略可能

・-ar 44100:audio  rate(サンブル周波数/采样率) 。指定しない時、もとファイルのsample rate を使う

・-ab 320k/-b:a 320k:audio bitrate(ビットレート)、音質。指定しない時、ディフォルト128Kを使う、ネット上は128k、192k の方が多い

・-ac 2:audio channel(声道)、ダブルチャンネル

・out.mp3:out.mp3としてoutputする

※さならる設定に関して、

ffmpeg -hでaudio optionsの中で確認することができる。

■動画のエンコードする

in.webmをout.mp4へ変換する

ffmpeg -i in.webm -s 1920*1080 -pix_fmt yuv420p -vcodec libx264 -preset medium -profile:v high -level:v 4.1 -crf 23 -acodec aac -ar 44100 -1c 2 -b:a 128k out.mp4

・-i in.webm:ファイルin.webmをインプットする

・-s 1920*1080:sizeを1920*1080を指定する

・-pix_fmt yuv420p:pixel format:動画の色範囲を指定する。動画のアップしたいサイトによって選択する

色の種類は ffmpeg -pix_fmtsで確認できる

①YUV(yuv420p →一般なネット動画サイトがこの色範囲を使う)

②NV

③RGB..

・-vcodec libx264:動画のcodecを指定(libx264)する

・-preset medium:codecのディフォルト設定(编码器预设)、設定が高ければ、精度が高くなり、CPUをより多く使う、時間もかかる。

設定範囲は10段階

ultrafast -> superfast ->veryfast(録画する時、おすすめ) -> faster -> fast -> medium  -> slow -> slower -> veryslow(圧縮するとき、¥おすすめ) -> placedo

・-profile:v high :codecの設定、圧縮の比例と関係する

設定が高ければ、圧縮の精度が高くなる。低ければ、圧縮の質が落ちて、容量はそれなり減少できる。

Baseline(随時の動画) -> Extended -> Main(流媒体) -> High(超清、今のネット上、ハイレベルの動画がよく使う配置) -> High 10 -> High 4:2:2 -> High 4:4:4 predictive

・-level:v 4.1 :codecに対して、具体的な設定

4.1(1080の動画) → 4.2 → 5 → 5.1

・-crf 23:码率控制模式: Constant Rate Factor(恒定速率因子模式:画面ごとに、必要なビット数を取ってくる)。

特徴は画質が安定けど、ビット数を精度高くコントロールするのは難しい。

適用な場面は、画質を求める、サイズを気にないパターン。

画質設定の範囲は 0..18..23..28..51 (普通18~28の間に設定する/handbrakeの設定と同じ)

・-r 30:·ビデオのレート数 30fps/s(视频帧率)

・-acodec acc:音声のacodeをAACとして設定する

・-b:a 320k/-ab 320k:  audio bite

■ビット数コントロール(码率控制)とは:画像ごとにどれだけのビット数を按分する。FFmpegは3つビットコントロール方法がある

① -qp(Constant Quantizer/恒定量化器模式)  Quantizerとは、画像を数字に変換する、0~50段階に分けて、0とは破損なし画質。マニュアル設定はおすすめしない、自動設定をおすすめ

② -crf(Constant Rate Factor):変動する-qpパターン、人の目に合わせて、区別できないほどでファイルを圧縮する、一番おすすめ

③  -b(bitrate/固定目标码率模式):ファイルのビット数とサイズが自分で設定できる。

・デフォルトのパターンはVBR(Variable Bit Rate/动态比特率)、簡単な内容は少ないビット数を按分する、複雑な内容だと、多くなビット数を按分する

・ABR(Average Bit Rate/平均比特率):現在ネット上の動画が一番使われている方法でエンコードする。

・CBR(Constants Bit Rate/恒定比特率): ABRの改善版、できるだけビット数を同じ数字で保つ →あまり使われていない

■ビデオ/オディオの分割、接続

ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -acodec copy out.mp3

ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -acodec copy out.mp3

・-ss 00:01:00:オディオ起点00:01:00

・-to 00:01:10:オディオ終点00:01:00

・-t 10:起点からの10s

・-acodec copy

※Avidemuxとは:同じopensourceツール、FFmpegをもとに作られたもの、GUIを持ち、ビデオとオディオの分割と接続に特化したツール。

■複数ファイルを同時圧縮する

[Windows環境]

for %i in (*wav) do (ffmpeg -i “%i” -acodec libmp3lame -ar 44100 -ab 192k -ac 2 “%~ni”.mp3)

<refer to site>

<refer to youtube>

[Linux]

for FILE in *.wav
do
FILENAME=`echo ${FILE} | sed ‘s/\.[^\.]*$//’`
ffmpeg -i “${FILENAME}.wav” -acodec libmp3lame -ar 44100 -ab 192k -ac 2 “${FILENAME}.mp3”
done

————–

for FILE in */*.wav
do
FILENAME=`echo ${FILE} | sed ‘s/\.[^\.]*$//’`
ffmpeg -i “${FILENAME}.wav” -acodec libmp3lame -ar 44100 -ab 192k -ac 2 “${FILENAME}.mp3”
done

<refer to site>

https://qiita.com/shunchan0677/items/b44aa374960989c63dd4

■動画チュートリアル

<refer to site>

https://www.bilibili.com/video/BV1Ft411s7Xa?p=5

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

■handbrake

■Constant Quality vs Average Bit Rate →for good quality,you should choose Constant Quality

[refer to site]

https://handbrake.fr/docs/en/latest/technical/video-cq-vs-abr.html

■Video Codec :H.265(x265)をおすすめ

[refer to site]

10 bit, 12 bit, or H265? which one’s the best and has the higher quality of video? from VideoEditing

 

■Frame rate →for good quality,you should choose Selecting Same as Source allows you to select Variable Frame Rate (VFR)

 

■office document

[refer to site]

https://handbrake.fr/docs/en/latest/technical/video-codecs.html