ゴリラに動画を その3

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

~前回までの悩み~
ナビの動画一覧(サムネイル)画面で内容を知りたい。
画質劣化を抑えたエンコードは一回にしたい。
サムネイルってどのあたりのシーンが表示されるの?

サムネイルに表示されるのって、動画のどこなの?

フレーム毎にカウントアップする動画をWeb検索したが見つからず。 じゃー作ろう。と言う事で結構がんばりましたよ。

@rem ゴリラでサムネイルが何フレーム目か調べたい。
@echo off
setlocal enabledelayedexpansion
set max=300

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!
)

REM 連続した数値の画像を作る。
for /l %%n in (1,1,!max!) do (
  set num=00%%n
  set num=!num:~-3,3!
  call :FuncA !num!
)

REM 連続画像から動画を作る。
ffmpeg -hide_banner -y ^
-r 30000/1001 ^
-i _temp%%03d.png ^
-r 30000/1001 -an ^
-vcodec mpeg4 ^
-pix_fmt yuv420p ^
_temp.mp4

REM 動画の詳細
rem ffmpeg -hide_banner -i _temp.mp4

REM 動画に音声(ピー)を入れる
ffmpeg -hide_banner -y ^
-i _temp.mp4 ^
-f lavfi -i aevalsrc="sin(1000*2*PI*t)" ^
-c:v copy ^
-c:a aac -strict experimental -b:a 128k -ac 2  -ar 32000 ^
-map 0:v:0 -map 1:a:0 ^
-shortest ^
_test.mp4

REM 動画の詳細
rem ffmpeg -hide_banner -i _test.mp4

REM 不要なファイルを消す
del _temp*.png
del _temp.mp4

exit /b

REM 引数の数値でタイトル画像を生成
:FuncA
SET /P<NUL="pict:%1!CR!"
magick convert ^
  -size 640x360 ^
  -background "#7F7FFF"  ^
  -bordercolor "#5F5FFF" -border 10x10 ^
  -fill "#FFFFFF"  ^
  -font c:\Windows\Fonts\meiryo.ttc ^
  -gravity Center -pointsize 128 ^
  caption:"Test\n%1" ^
  _temp%1.png
exit /b

生成された動画をSDカードに入れてゴリラへ。

f:id:daitailab:20181001194243j:plain

動画一覧を表示させると「やっぱりかぁー!」 一番先頭の一フレーム「001」が表示されている。 これじゃ、真っ黒になりやすいよな・・・

つづく