Beranda » Linux » Merubah Gambar Menjadi Video dengan FFMPEG di Openwrt (Part 3)

Merubah Gambar Menjadi Video dengan FFMPEG di Openwrt (Part 3)


Di bagian sebelumnya sudah membahas mengenai cara membuat cctv openwrt di router Huawei HG553 baik menggunakan Mjpg-Streamer maupun Motion. Hasil snapshot kedua aplikasi tersebut berupa file jpg yang sangat banyak, jadi agak kurang nyaman kalau dilihat satu persatu. Oleh karena itu agar nyaman ditonton, file jpg tersebut dirubah menjadi video.ffmpeg

Pembahasan sebelumnya:

Install ffmpeg

Aplikasi yang dipergunakan adalah ffmpeg, untuk menginstall dari putty ketik:

  • opkg update
  • opkg install ffmpeg

Format ffmpeg

Format untuk merubah gambar snapshot menjadi video adalah sebagai berikut, misal saja gambar snapshot ada di /www/motion


  • cat /www/motion/*.jpg | ffmpeg -f image2pipe -r 5 -vcodec mjpeg -i – /www/motion/video.avi

Maka akan dibuat file video.avi di folder /www/motion. Setiap detik akan berisi 5 gambar.

Agar setiap beberapa menit gambar bisa dirubah ke video dan gambar tidak dobel maka seluruh file gambar dipindah dahulu ke folder sementara, kali ini saya beri nama folder tmp. Kemudian gambar di folder tmp dirubah ke video. Setelah selesai dirubah, file video dipindah ke folder video dan seluruh file jpg dihapus. Format lengkapnya sebagai berikut:

  • Buka putty kemudian ketik: vi /bin/rubah
  • Kemudian pencet huruf i dan ketik format dibawah ini:
    • mkdir -p /www/motion/tmp/$(date +%d%m%Y%H%M)/
    • cd /www/motion/tmp/$(date +%d%m%Y%H%M)/ &&
    • mv /www/motion/*.jpg .
    • cat *.jpg | ffmpeg -f image2pipe -r 5 -vcodec mjpeg -i – video$(date +%d%m%Y-%H%M).avi
    • mkdir -p /www/motion/video/$(date +%d%m%Y)/
    • mv *.avi /www/motion/video/$(date +%d%m%Y)/
    • rm -rf *.jpg
  • Setelah selesai pencet tombol escape dan ketik: :wq
  • Kemudian ketik lagi: chmod 755 /bin/rubah

Setelah itu untuk mengetes bisa dengan ketik: rubah. Video akan ada di /www/motion/video dan dibagi berdasar hari.

Menjalankan Otomatis

Untuk menjalankan otomatis semisal setiap 30 menit caranya:

  • Masuk ke 192.168.1.1
  • Kemudian masuk System – Scheduled Task
  • Ketik: */30 * * * * rubah

Setelah itu klik submit dan restart router. Maka otomatis setiap 30 menit akan merubah gambar menjadi video.

Pembahasan berikutnya adalah untuk upload file snapshot ke dropbox atau hosting.

Semoga Bermanfaat


19 komentar untuk “Merubah Gambar Menjadi Video dengan FFMPEG di Openwrt (Part 3)”

  1. Terimakasih bnyk atas tutorialnya Pak…

    tapi untuk scrip vi /bin/rubah saya tidak bisa membuatnya
    boleh minta di capture kan cara memasukkan di Putty nya seperti apa pak?

    terimakasih

    1. agak lupa saya mas krn lama sdh tdk utakatik router ini, saya blm pernah mengalami seperti itu, kemungkinan openwrtnya sudah versi lama. coba di forum facebook openwrt di facebook.com/groups/openwrt/

  2. Mas, saya ada masalah ketika memasukkan kode di bin/rubah :
    mkdir -p /www/motion/tmp/$(date +%d%m%Y%H%M)/
    cd /www/motion/tmp/$(date +%d%m%Y%H%M)/ &&
    mv /www/motion/*.jpg .
    cat *.jpg | ffmpeg -f image2pipe -r 5 -vcodec mjpeg -i – video$(date +%d%m%Y-%H%M).avi
    mkdir -p /www/motion/video/$(date +%d%m%Y)/
    mv *.avi /www/motion/video/$(date +%d%m%Y)/
    rm -rf *.jpg

    folder /tmp memang terbuat selama 30 menit sekali, tetapi folder yang berada di dalam /tmp tidak menampung file .jpg dari folder /www/motion. Folder /tmp kosong dan tidak membuat video dari file .jpgnya mas.
    Apa ada kesalahan penulisan ya?. Saya perhatikan ada titik pada akhir baris ketiga kode.
    Seperti ini :
    mv /www/motion/*.jpg .
    Mohon bantuanya.
    Terimakasih mas

  3. Mau nanya Mas, Saya juga punya masalah persis sama mas Dika diatas, Folder tmp sama folder video sudah terbuat, namum masalhnya file *.jpg tidak bisa pindah ke folder tmp. Begitu juga convert jpg ke video tidak ada di folder video. Untuk convert videonya tidak terjadi mungkin karena file jpg tidak ada di folder tmp, sehingga tidak ada proses convert disana. Yang menjadi masalh utamanya , kenapa file jpg tidak pindah ke folder tmp?
    mohon petunjuknya mas Darmawan, Terima Kasih.

    1. Sebagai Tambahan, Motion.conf sudah saya setting target_dir nya. sudah sama dengan direktori yang di atur di file rubah. tapi kenapa ya, file jpg tidak mau pindah ke folder tmp.
      Ini script yang saya pasang di file rubah.
      mkdir -p /Storage/MOTION/tmp/$(date +%d%m%Y%H%M)/
      cd /Storage/MOTION/tmp/$(date +%d%m%Y%H%M)/ &&
      mv /Storage/MOTION/*.jpg
      cat *.jpg | ffmpeg -f image2pipe -r 5 -vcodec mjpeg -i – video$(date +%d%m%Y-%H%M).avi
      mkdir -p /Storage/MOTION/video/$(date +%d%m%Y)/
      mv *.avi /Storage/MOTION/video/$(date +%d%m%Y)/
      rm -rf *.jpg

      Mohon petunjuknya mas. 🙂

      1. Yg dimotion sdh diset merekam kl ada gerakan blm mas. Coba di utak atik bagian motion.conf. saya agak lupa krn sdh lama tdk utak atik openwrt.

        1. Sudah mas, saat ada gerakan sudah di direkam gambarnya dan sudah ada di folder /Storage/MOTION. Yang menjadi masalah adalah script tersebut tidak bisa memindahkan file jpg ke folder tmp. Kira2 begitu mas masalahnya.

  4. Sebelumnya terimakasih Mas Darmawan untuk sharingnya. Saya sudah berhasil merekam menggunakan motion namun hasil videonya terlalu cepat bergeraknya seperti sedang di fast forward. Kira2 di bagian mana yg harus dirubah mas? dibagian motionnya atau di script saat convert videonya?

    1. frameratenya ditambahi aja mas, di setingan motion.conf frame rate diubah jadi 20 atau 25. maka akan ada 25 gambar perdetik.

Komentar ditutup.