0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita100万記事感謝祭!記事投稿キャンペーン開催のお知らせ

ATOMCam2 カスタムファームウェアで動体検知録画転送通知から動画を保存する

Last updated at Posted at 2025-01-18

ATOMCam2 のカスタムファームウェアを使った動体検知録画転送通知を PHP で受け取って ffmpeg で HLS に変換します。

準備

動体検知動画を受け取るwebサーバをたてます。
自宅サーバがあれば楽ちんです。
GCP でも AWS でも何でもいいと思います。

今回は Apache httpd で作ってみました。
PHP を使いたいので mod_php を読み込みます。

<VirtualHost *:8088>
  DocumentRoot /var/www/atomcam2
  ErrorLog logs/atomcam2-error_log
  CustomLog logs/atomcam2-access_log common

  <IfModule prefork.c>
    LoadModule php_module modules/mod_php.so
  </IfModule>

  <Directory "/var/www/atomcam2">
    AllowOverride All
    Options Indexes FollowSymLinks
  </Directory>
</VirtualHost>

ATOMCam2 の通知設定

ATOMCam2 のウェブ設定画面からイベント通知の動体検知録画転送を有効にします。
通知URLに受け取れるWebサーバのURLを書いておきます。

PHP で通知を受け取って動画を保存する

ATOMCam2 からの通知は、リクエスト Body の FILES から取得できます。

$f = $_FILES["video"];
move_uploaded_file($f['tmp_name'], '/tmp/atomcam2_savemp4/video.mp4');

HLS に変換する

ここ迄で既に動画保存はできていますが、ffmpeg で HLS に変換してストリーミングできるようにします。

exec('/usr/bin/ffmpeg -i /tmp/atomcam2_savemp4/video.mp4 -c:v copy -c:a copy -f hls -hls_time 10 -hls_playlist_type vod -hls_segment_filename "/tmp/atomcam2_savemp4/output-%3d.ts" /tmp/atomcam2_savemp4/output.m3u8');

HLS に変換した後は自分用の配信サーバにアップロードするとか、自宅サーバに置いとくとか色々できますね。

ATOMCam2 カスタムファームウェア作者様に感謝を。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?