ゴリラに動画を その4

これは子供の為にカーナビを活用しようと奮闘記である。

~前回までの悩み~
ナビの動画一覧(サムネイル)画面で内容を知りたい。
画質劣化を抑えたエンコードは一回に抑えつつタイトルを入れたい。

何か良い方法が無いか調べていると、FFMPEGウォーターマークを入れる解説があった。 「ウォーターマークの技でタイトル入れれるんじゃ・・・」 と言う事で調べてみた。

で結論。できます。文字はタイトルは2列x2行がベスト。最大でも3列x2行あたり。

REM 改行コード(CR) 
REM 引用先 http://itdiary.info/コマンドプロンプト/post-861/ 
FOR /f "delims=" %%i IN ('cmd /u /c ECHO;名') DO (
SET CR=%%i
SET CR=!CR:~0,1!
)

ffmpeg -hide_banner -y ^
-i "動画ファイル名" ^
-filter_complex "scale=720:-2[bg];[bg]drawtext=text='動画!CR!件名':fontfile=c:\\Windows\\Fonts\\meiryo.ttc:x=(w-text_w)/2:y=(h-text_h)/2:fontsize=200:fontcolor=white:enable='between(t,0,0.5)'" ^
-c:v mpeg4 -b:v 500k ^
-c:a aac ^
-map 0:v:0 -map 0:a:0 ^
"ゴリラ様動画ファイル名"
exit /b

シリーズを一括処理するならこんな感じ。

@echo off
REM 改行コード(CR) 
REM 引用先 http://itdiary.info/コマンドプロンプト/post-861/ 
FOR /f "delims=" %%i IN ('cmd /u /c ECHO;名') DO (
SET CR=%%i
SET CR=!CR:~0,1!
)

set /a cnt=0
for  %%f in (orginal\\*.mp4) do (
 if exist %%f (
  set /a cnt=cnt+1
  set count=0!cnt!
  set count=!count:~-2!
  ffmpeg -hide_banner -y ^
  -i "%%f" ^
  -filter_complex "scale=720:480[bg];[bg]drawtext=text='件名!CR! !count!話':fontfile=c:\\Windows\\Fonts\\meiryo.ttc:x=(w-text_w)/2:y=(h-text_h)/2:fontsize=200:fontcolor=white:enable='between(t,0,0.5)':bordercolor=skyblue:borderw=1:box=1:boxborderw=20:boxcolor=black@0.4" ^
  -c:v mpeg4 -b:v 500k ^
  -c:a aac ^
  -map 0:v:0 -map 0:a:0 ^
  "gollira\\タイトル!count!.mp4"
 ) 
)
exit /b

上記では勘違いで「scale=720:480」と指定しています。 解像度が4:3で表示アクペクト比が16:9の動画は横に縮んで表示される問題が見つかりました。 どうも「-aspect 16:9」などが無視されているのかもしれません。

なかなかいい感じになったよ。

f:id:daitailab:20181001194514j:plain 注:テスト用でタイトル名は仮です。

でも動画がカクカクするのが気にるね。 ビットレートが高い?フレームレート下げたほうがいい?

と言う事で次回オチがあります。

つづく