ユーザ用ツール

サイト用ツール


サイドバー

最新の10件
一覧
unix:ffmpeg

ffmpeg

tips

width not divisible by 2

奇数サイズの動画をmp4等に変換しようとするとエラーになる

$ ffmpeg -i infile.webm -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" outfile.mp4
   :
[libx264 @ 0x55950e5c6e40] width not divisible by 2 (559x353)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

サイズ調整して変換

$ ffmpeg -i infile.webm -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" outfile.mp4

動画情報取得

$ ffprobe ./pfetch.mp4 -hide_banner -show_entries format 2>/dev/null
[FORMAT]
filename=./pfetch.mp4
nb_streams=1
nb_programs=0
format_name=mov,mp4,m4a,3gp,3g2,mj2
format_long_name=QuickTime / MOV
start_time=0.000000
duration=24.240000
size=223463
bit_rate=73750
probe_score=100
TAG:major_brand=isom
TAG:minor_version=512
TAG:compatible_brands=isomiso2avc1mp41
TAG:encoder=Lavf58.20.100
[/FORMAT]

指定情報のみ取得(ここでは duration 動画時間)

$ ffprobe ./pfetch.mp4 -hide_banner -show_entries format=duration 2>/dev/null
[FORMAT]
duration=24.240000
[/FORMAT]
$ ls -1 ./file*.mp4 | xargs -I{} ffprobe {} -hide_banner -show_entries format 2>/dev/null | grep duration | cut -f2 -d= | xargs -I{} echo {}/60|bc
230
120

動画のフレーム数を数える

動画のフレーム数を数える1

$ time ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames -of default=nokey=1:noprint_wrappers=1 'かげきしょうじょ!! 第3話 クマのぬいぐるみ.mp4'              
34047

real    0m0.663s
user    0m0.546s
sys     0m0.091s

動画のフレーム数を数える2

$ time ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 'か 
げきしょうじょ!! 第3話 クマのぬいぐるみ.mp4'
34047

real    6m1.871s
user    5m59.593s
sys     0m1.129s

動画のフレーム数を数える3

$ time ffmpeg -i 'かげきしょうじょ!! 第3話 クマのぬいぐるみ.mp4'  -map 0:v:0 -c copy -f null - 2>&1 | grep ^frame=
frame=34047 fps=21698 q=-1.0 Lsize=N/A time=00:23:40.00 bitrate=N/A speed= 905x    

real    0m2.184s
user    0m1.750s
sys     0m0.430s

動画のフレームを数える4

$ time mediainfo --Output="Video;%FrameCount%" 'かげきしょうじょ!! 第3話 クマのぬいぐるみ.mp4'
34047

real    0m0.326s
user    0m0.167s
sys     0m0.043s

最終フレームの画像を出力

$ time ffmpeg -sseof -10 -skip_frame nokey -i 'INPUT.mp4' -update 1 -q:v 1 last.png
  :

real    0m11.865s
user    0m32.971s
sys     0m1.036s
$ time ffmpeg -sseof -10 -skip_frame nokey -i 'INPUT.mp4' -update 1 -q:v 1 last.png
  :

real    0m12.231s
user    0m34.340s
sys     0m1.018s

コメント

コメントを入力. Wiki文法が有効です:
  _   __  _____  _____   ___    ___ 
 | | / / / ___/ / ___/  / _ \  / _ \
 | |/ / / (_ / / (_ /  / // / / ___/
 |___/  \___/  \___/  /____/ /_/
 
unix/ffmpeg.txt · 最終更新: 2021/07/23 02:37 by matoken