購入の経緯
商品URL
A68を追加購入(別記事)
A66Sの感想のまとめ
不満点
- 風切り音が大きい → 音量を下げる事で解決。無音でも良い。BGMは各自で準備してもらう
- 左右に揺れる(ロールさせる)と酔う動画になる → 振れ補正をかける事で多少マシになる
- FHDだと18分半(1.75G)で動画が分割される → 画質をWVGAに落とすことで90分まで延長可能
- 動画分割時の空白時間が長い → 上書き記録(ループ撮影)にすることで解決
- 画角が狭い(90度程度しかない) → 解決法なし?(後付け魚眼レンズならなんとか?)
- 防水プロテクタに入れると給電できない → 別のマウントを使う事で解決
- 色味が周辺の状況で変化する → 解決法なし
評価点
- 動画は(値段の割には)綺麗
- 安いのでラフに扱える (壊れても痛くない)
今後の課題
- GPSとの同期
次の機種に求めたいもの
- 手振れ補正
- 高画角
- 内蔵メモリ
ひとつずつ掘り下げて評価してみる
風切り音
左右の振れ
動画が分割される、空白時間がある
画角が狭い
充電管理がなされていない?
防水プロテクタに入れると給電できない。
画質は値段の割には良い
安い
GPSとの同期
次のカメラに求めるもの
雑記
ーーーーーーーーーーーーーーーーーーーーーここまで編集済みーーーーーーーーーーーーーーーーーーー
¥
以下、未整理記録 ここは別記事にする予定
・手振れ補正
編集ソフトは色々出ているようなので、試してみたいと思う。
ffmpegに手振れ補正機能がある模様。
https://qiita.com/tamaina/items/d978dd3e34924927988c
複数ファイルを一括変換できるbat
実際に試してみて動作を確認。かなり綺麗に補正されて満足いく結果だった。
ただし、画角が狭くなっているのと、大きな揺れにはやはり対応できない。
問題は処理に膨大な時間がかかる事である。
映像から振れが軽減されれば、タイムプラスを作りやすくなる。
・高画角
情報量を減らすことは出来ても増やすことは出来ないので、ソースの情報量は多いに越したことはない。
・内蔵メモリ
FAT32には4Gの壁があるので、専用メモリにて最大限撮影できる方が良い。
高機能アクションカムのファイルフォーマットがどうなっているのか調べてみよう。
→exFATというので解決できるらしい。 (SDXC/SDUC(32G以上)の規格らしい)
・動画変換
FHDで記録すると18分で1.75G、1時間で6G消費する。
→ ループ録画設定することで、3分で300M消費する。つまり10分1G 29Gで290分ほぼ5時間。
32GSDは実質29Gなので5時間記録することも出来ず、明らかに容量不足気味。
1Tを30Gで割ると33回しか記録できず週1強の走行でも半年で埋まってしまう事になる。
なので通常は、WVGAで記録。90分で1.75G消費するので、1時間で1G強の消費。
これなら1日10G換算したとしても、100日は走れるので週二回換算で1T消費するのに1年。
HDDは定期的に買うべきものなので、このぐらいなら許容範囲だろう。現在6Tが15kぐらいだし。
GoProMAXとか買うとどれだけHDDを消費するのか想像もつかないが、単純計算でも6倍以上は確実。
話がそれた。んで、容量を節約するために動画を変換する必要がある。
1か月ぐらいは最新動画をそのまま残すとしても、古くなったものは小さくまとめてしまいたい。
そこで、良さそうなのがタイムプラスなのだが、手振れ補正がないのでタイムプラス化すると、
一層見れたものではない動画になってしまう。
そこで、手振れ補正を先に当ててから、タイムプラス化しようと考える。
色々調べて、やってみて、ffmpegの万能さに今頃感動する。
ffmpegに手振れ補正機能があるらしい。
https://looooooooop.blog.fc2.com/blog-entry-1108.html
https://qiita.com/tamaina/items/d978dd3e34924927988c
まずは手振れ補正機能付きffmepgを入手する。
http://blog.k-tai-douga.com/category/359294-1.html
https://ffmpeg.zeranoe.com/builds/
実行するにあたってbatファイルをいじるので基礎知識を学ぶ。
https://www.softel.co.jp/blogs/tech/archives/2140
最大限に振れを取る設定にする。
→ shakiness=10 映像の振れの大きさ 効果大
→ stepsize=6 調査ピクセル単位 1にしてみたが処理が重くなるだけで大差なし。
→ accuracy=15 揺れの検出精度 標準値
→ smoothing=60 先読みするフレーム数 効果は微妙だがおまじない
→ unshrap 推奨オプションらしい。 画がはっきりと変わる。ぼかしたいならつけない方が良い。
→ unsharp=3:3:1.0:3:3:0.5:0で様子見。マトリックスを小さくすると影響が少ない模様?
ただでさえ狭い画角が、一層狭くなるが仕方ない。
FHDの変換に1pass目x0.3、2pass目x0.4と計6倍の時間を要する。
→ stepsizeを6(既存値)から1にしたので1pass目の処理が更に重くなった。2pss目は変化なし。
1pass目はCPU負荷が高くないので、GPUエンコードしても早くならないと思われる。
GoProMAXを買えば、振れ補正の必要はなくなるが、変換作業は必要なので手間に大差ないと思わる。
タイムプラス風に変換もできるらしい。
https://looooooooop.blog.fc2.com/blog-entry-1014.html
https://freefielder.jp/blog/2016/06/create-timelapse-movie-ffmpeg.html
-anは音声を消してしまうので、-af "atemo=n"で倍速再生に音声を合わせる。(nは倍率)
いろいろ試した結果10倍速の60fpsが程よい感じである。
集中して見れば10倍速で良いのだが、疲れるので気楽に見れる5倍速でテスト中。fpsは30に落とす。
この辺は、その時の気分で決まっていくと思われるので、都度調整していくしかない。
FHDの60fps変換速度がx0.2前後だが、10倍速にしてあるので実質2倍の速度で変換されている。
GPUエンコードに対応したのでタイムプラス化は劇的に早くなった。
振れ補正をかけても、完全には振れを取り除けないので、タイムプラスで加速するとブレが目立つ。
超過速して高fps化することで、逆にブレが目立たなくなる。
しかし、広い真っすぐな道なら良いが、そうでなければ動きが激しすぎて、認識が追いつかなくなり、
最適な加速度を得るのはなかなか難しい。場面場面で加速度を変えればよいのだろうけど。。。
高fps化は中央の画が増えるので効果が高いがm、ファイルサイズがその分増えてしまう。
逆にフレームレートを10程度に落としてみるとブレが気にならなくなった。
しかも画質が向上しファイルサイズも小さくなる。
ただ、カクカク動画になるのでどのぐらいが見やすいのかは微調整が必要だろう。
→ さらに落として現在7fpsぐらいがバランスがとれているように感じる。
倍速設定は現状では動画を15分以内に収めるように設定するしかないが、
5倍速の7fpsを3倍速再生させれば15倍速の24fpsとなり、流れる映像にも出来て丁度良い。
エンコードオプション
参考:https://qiita.com/CyberRex/items/960bbd0f348ad8dca544
CPUエンコード
h264_qsvを使うとCPU負荷を食わなくなった。Intelグラフィックスを使っているのかもしれない。
→ ブロックノイズが酷くなったので却下。ファイルサイズが300M→50Mと激減。
→ ビットレートを指定してやれば問題なかったが、解像度ごとに設定するのは面倒だ。
GPUエンコード
h264_nvencを使えばGPUエンコードできる模様。
Geforce8世代以降なら対応しているようなのでドライバーダウンロード中。
→ GPUドライバーを更新しただけでは動作しなかった。
CUDA Toolkitをダウンロードしてみる。
CUDA:https://developer.nvidia.com/cuda-toolkit-archive
Win8に対応しているのはVersion10.2までの模様。
→ インストールしたらGPUエンコード可能になった。
変換速度は3~6倍ぐらい?
デフォルトだと、qsvと同様に酷く劣化した動画が作られる。
→ -cpで品質固定が出来た。(-crfでは無理だった)
-cp27ぐらいがソフトウェアエンコード(libx264ノーオプション)時と同等の模様?
(品質とファイルサイズのバランスが取れない。(品質に対してサイズが大きくなる))
かなり悪い品質の値だがソースと比較しても大差ないのでこれがカメラの品質という事だろう。
GPUエンコードはCPU(ソフトウェア)エンコードより、速いが質が劣るようだ。
ただ、カメラの性能が低く、ソース画像自体が荒いので、あまり画質に拘ってもあまり効果がない。
当面は大きなブロックノイズが大量に出ないようにだけ気を付けておけばいいかと思う。
高画質に拘るのは高性能なカメラを買ってからでないと時間の無駄だろう。
編集
動画を公開するには、見せたくないものは隠す編集が必要になる。
切り取りだけならPFMVCでも出来るが、ちゃんと編集したければAviutlが良いだろう。
プラグインを集めるのが面倒だ。。。
もしくは編集しなくても良いように、録画時に細切れにしておく手もあるが、
逆に結合処理が必要になる事もあるので、結局手間は大差ないような気もする。
変換手順
手振れ補正には膨大な時間がかかるので先にタイムプラスを当ててしまうという方法もある。
その場合、画質がどうなるのか試してみなければならない。
・Youtubeへのアップロード
画質の低下が著しい。
213Mでアップロードした480p動画が、26M(360p)に圧縮されてしまった。
Youtubeには480pという設定はない?
→ 720pもしくは360pでしかダウンロードできない模様。
ブロックノイズの激増で荒くはなっているが、見れないというほどでもない。(木に囲まれると流石に無理)
240pでアップロードしたファイルは、88Mから32Mに圧縮されている。これも草木に囲まれると厳しい。
動きの激しいタイムプラス動画には、厳しい環境なのかもしれない。
対策としては、劣化を考慮してHD(720p)やFHD(1080p)でアップするしかなさそうだ。
容量節約のために480pで録画しているのを720p録画にするか、
480pを720pに引き延ばすか、両方試して比較してみよう。
→ 720p録画はさほど画質が向上しないのに、ファイルサイズが大きくなり変換が大変なので却下。
→ 引き伸ばしは最終作業だけで済むので有力だが、やはり劣化は目立つ。
HDだとファイルサイズは10分で1G前後になり、アップロードそのものが困難になるのが辛い。
動画は日々溜まり続けるので、Youtubeをファイル置き場にと考えていたが、現状では少し厳しそうだ。
解像度を上げるとファイルの変換処理も余計に時間がかかるという問題もある。
スマホ登録しないと15分以上の動画はアップできない模様。
→ SMS認証をして無事に制限突破。
登録しないとサムネイルにも自由がないのは辛いので、続けるなら登録推奨。
Youtubeの公式推奨ビットレートは30fpsの720pで5M、1080pで8Mとの事だが、
それでアップロードしても、そこから更に再エンコードされて、半分以下に削られる。
可変倍速に挑戦してみた。
まずは、LosslessCut-winを使用してファイルを分割。
キーフレームに注意しないと結合部がおかしくなるので注意。
倍速を変える場所付近のキーフレームに合わせカットし、次のフレームに進めて範囲指定を開始する。
(同じフレームに合わせると、ひとつ前のキーフレームまで戻って動画が被ってしまう。)
等速を7fpsにする必要はないので可変fps(VFR?)にも挑戦してみたが上手くいかなかった。
可能であるような情報は出てくるので、今後の課題か。
→VFR結合に成功した。参考HPのRAWファイルを作って結合する方法でのみ成功。
倍速を可変させるとメリハリを付けられるが、編集ポイントが増えるので手間が増えるのが問題になる。
これから先も動画配信をしていくのなら、如何に手をかけないようにするかが重要。
統合編集ソフトを使えばキーフレームに縛られることもなく、いろいろと簡単なんだろうか?
アップロードテスト
FHD以外のソースの解像度はすべてWVGA(480p)。
[]内は動画の再生時間
()内は動画のアップロードサイズ→ダウンロードサイズ
WサスATB 5倍速HD化30fps[7:08](609M→107M) 10倍速SD30fps[3:34](213M→26M)
クロスバイク 2.5倍速HD化7fps(13:09)[390M→246M] 5倍速240p化30fps[6:35](88M→33M)
5倍速HD化7fps[14:38](580M→287M) 10倍速HD化48fps[7:19](850M→127M)
5倍速FHD7fps[2:20](130M→40M) 夜間5倍速HD化7fps[14:04](246M→201M)
5→1→5可変倍速HD化7fps[3:57](178M→88M)
10→1→5可変倍速HD化10→24→7可変fps[3:31](200M→58M)
どれも酷い画質であるが、仕上がりファイルサイズが大きくなるHDが一番良い感じ。
FHDはHDにダウンコンバートされてしまったので、HDでアップロードするのが最善のようだ。
低fpsは1枚の画の質は向上するが、すぐに切り替わらないので粗が目立つ。
それでもファイルサイズが節約できるので、アップロードが行いやすくなるのが助かる。
まあ、どれだけ高画質を求めたところで、ソースも荒いので極上の仕上がりになる事はないのだし、
巨大なブロックノイズの大量発生だけは何とか避ければ、後は妥協で。
→ 現在の最善設定は、FHD録画→7fpsHD化→アップロード。
基本設定は、WVGA録画→7fpsHD化→アップロード。
・Youtube以外へのアップロード
ストレージサービスは容量制限が厳しく、すぐに足りなくなりそう。
無劣化動画サイトは無いようなので、現状ではアップロード容量に制限のないYoutubeが最善っぽい。
・SDのフォーマットについて
参考記事 http://digihori.blog.jp/archives/81096906.html
64GでもFAT32でフォーマットすれば使えるらしい。8時間半録画できるとの事。
逆に言うとexFATでは使えないとも読み取れる。
この辺は非推奨のテクニックなのでSDカードが壊れる事も覚悟しなければならない。
・使い方
主にドライブレコーダー用途とルート紹介に使う予定。
なので酔う動画を公開する気にはならないので現在思案中。
→振れ補正処理でやや解決。完全解決には360カメラが必要。
あとは自分のフォーム確認や、商品レビューなどに使えればいいかなという感じ。
何せこのブログは文字ばかりで非常に見難いので。。。
・連続撮影
USB給電して撮影しているのだが、接触不良が起きるのか時々電池切れを起こす。
随時カメラの液晶やバッテリーのインジケーターを確認して、給電されているか確かめる必要がある。
FHDでは5時間ぐらいしか撮影できないのでそれ以上撮影するなら追加のSDか大容量のSDが必要。
まあ、普段はWVGAで録画しているので、30時間ぐらい行けるはずだけど。
Youtube対策でHD録画を始めた場合は12時間ぐらい?
ffmpeg用batファイルの覚書
動画分割
LosslessCut-win.exeを使用 (aviutlとかを使いこなせればいろいろと簡単なんだろうけどなぁ…)
動画結合
set dp=%~dpn1
cd /d "%~dp0"
type nul > ./files.txt
SET FILEMEI=%~n1
:start
IF "%~1"=="" GOTO ffmpegstart
IF "%~x1" == ".MP4" GOTO add
IF "%~x1" == ".mp4" GOTO add
IF "%~x1" == ".mov" GOTO add
GOTO next
:add
echo file '%~1' >> ./files.txt
:next
SHIFT
GOTO start
:ffmpegstart
ffmpeg -safe 0 -f concat -i %~p1files.txt -c:v copy %dp%_.mp4
pause
VFR結合set dp=%~dpn1
cd /d "%~dp0"
type nul > ./files.txt
type nul > ./rawlist.txt
SET FILEMEI=%~n1
:start
IF "%~1"=="" GOTO ffmpegstart
IF "%~x1" == ".mp4" GOTO add
IF "%~x1" == ".mov" GOTO add
GOTO next
:add
echo file '%~1' >> ./files.txt
ffmpeg -i %1 -c copy -an "%~dpn1_raw.264"
echo file '%~dpn1_raw.264' >> ./rawlist.txt
:next
SHIFT
GOTO start
:ffmpegstart
ffmpeg -f concat -safe 0 -i %~p1rawlist.txt -f concat -safe 0 -i %~p1files.txt -map 0:v -map 1:a -c:v copy %dp%_.mp4
pause
振れ取り補正 (smoothingはfpsの2倍以上が良い感じ)setlocal enabledelayedexpansion
cd /d "%~dp0"
:loop
if "%~dpn1" == "" goto end
ffmpeg -i %1 -vf vidstabdetect=result=transforms.trf:shakiness=10:accuracy=15 -an -f null -
ffmpeg -i %1 -vf vidstabtransform=input=transforms.trf:smoothing=60,unsharp=3:3:0.3:3:3:0.5:0 -vcodec h264_nvenc -preset slow -cq 20 -qmin 18 -qmax 36 -qcomp 1 -y "%~dpn1-stab_sm60_us0305_nvenc.mp4"
:finish1
echo .
shift
goto loop
:end
pause
タイムプラス化保存用 ( 5倍速 24fps 音量10分の1 )
"%~dp0ffmpeg" -i %1 -vf "setpts=PTS/5,fps=24" -af "atempo=5" -vcodec h264_nvenc -preset slow -cq 20 -qmin 18 -qmax 36 -qcomp 1 -vol 25 -y %~dpn1_tp_x5_24fps_gpu_cp20_vol10.mp4
pause
Youtube用 ( 5倍速 7fps 720p 音量10分の1 )"%~dp0ffmpeg" -i %1 -vf "setpts=PTS/5,fps=7" -s 1280x720 -aspect 16:9 -af "atempo=5" -vcodec h264_nvenc -preset slow -b:v 0 -cq 20 -qmin 18 -qmax 36 -qcomp 1 -vol 25 -y "%~dpn1_tp_x5_7fps_720p_cp20_vol10.mp4"
pause