ကင်မရာကိုအမျိုးမျိုးသောအခြေအနေတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုထားသည်။ တိုက်ရိုက်ထုတ်လွှင့်မှုများနှင့်ဓာတ်ပုံရိုက်ခြင်းအပြင်အချိန်ချုံးဗွီဒီယိုများကိုမှတ်တမ်းတင်ခြင်းသည်အလွန်စိတ်ဝင်စားဖွယ်ကောင်းသောရည်ရွယ်ချက်တစ်ခုဖြစ်သည်။ TIME-Lapse ဗီဒီယိုများသည်အောက်ပိုင်း frame rates များ၌ဆက်တိုက်ဓာတ်ပုံများကစားခြင်းဖြင့်အချိန်ကိုအရှိန်အဟုန်ဖြင့်သက်ရောက်သောအမြင်အာရုံသက်ရောက်မှုများကိုတင်ပြနိုင်သည်။ ဒီဆောင်းပါးမှာ PHP ကိုဘယ်လိုသုံးရမလဲဆိုတာအသေးစိတ်မိတ်ဆက်ပေးမှာပါ။
ပထမ ဦး စွာကင်မရာကိုစနစ်တကျချိတ်ဆက်ပြီး configure လုပ်ပါ။ Linux Systems တွင် Command Line Tool မှတဆင့်ကင်မရာစက်ကိုရနိုင်သည်ကိုကျွန်ုပ်တို့စစ်ဆေးနိုင်သည်။ System ပေါ်တွင်ရရှိနိုင်သည့်ကင်မရာများကိုကြည့်ရှုရန်အောက်ပါ command ကိုသုံးပါ။
LS -l / dev / video *
အကယ်. "/ dev / video0" နှင့်ဆင်တူသည့်ကိရိယာအမည်ကို output တွင်ပြသထားလျှင်၎င်းသည်ကင်မရာကိုအောင်မြင်စွာချိတ်ဆက်ထားကြောင်းဆိုလိုသည်။ အကယ်. device ကိုရှာမတွေ့ပါကယာဉ်မောင်းကိုမှန်ကန်စွာတပ်ဆင်ရန်သေချာစေရန်ဟာ့ဒ်ဝဲဆက်သွယ်မှုကိုစစ်ဆေးပါ။
ကင်မရာကို PHP ဖြင့်မခေါ်မီ FFMPEG နှင့် FSWEBCAB ကဲ့သို့သောလိုအပ်သော software packages အချို့ကိုတပ်ဆင်ရန်လိုအပ်သည်။ ဤကိရိယာများသည်ဓာတ်ပုံများကိုဖမ်းယူခြင်းနှင့်၎င်းတို့ကိုဗွီဒီယိုများအဖြစ်ရှုမြင်ရန်ကူညီလိမ့်မည်။ အောက်ပါ command ကိုသုံးနိုင်သည်။
sudo apt-get install ffmpeg fswebcam
ထို့နောက် PHP code ကိုကင်မရာကိုဖုန်းခေါ်ပြီးအချိန်ချုံးဗီဒီယိုကိုမှတ်တမ်းတင်ရန်ရေးပါ။ PHP သည် command-line operations များကို shell_exec function မှတဆင့်လုပ်ဆောင်နိုင်ပြီးဓါတ်ပုံများရိုက်ကူးခြင်းနှင့်ဗီဒီယိုများပြုလုပ်ပါ။ ဤတွင်ရိုးရှင်းသောကုဒ်ဥပမာတစ်ခုရှိသည်။
<?php // အချိန်ကြားကာလကိုသတ်မှတ်ပြီး frames စုစုပေါင်းအရေအတွက်ကိုမှတ်တမ်းတင်ပါ $interval = 1; // အခြားတိုင်း1စက္ကန့်ပိုင်းအတွင်းဓာတ်ပုံရိုက်ပါ $total_frames = 60; // စုစုပေါင်းပစ်ခတ်မှု60ဓာတ်ပုံတစ်ပုံ // သင်၏ဓါတ်ပုံများကိုသိမ်းထားသည့် directory ကိုသတ်မှတ်ပါ $photos_dir = '/path/to/photos'; // အမှန်တကယ်လမ်းကြောင်းနှင့်အစားထိုးလိုက်ပါ // ဓါတ်ပုံများကိုသိမ်းရန်လမ်းညွှန်တစ်ခုဖန်တီးပါ if (!is_dir($photos_dir)) { mkdir($photos_dir, 0755, true); } // ကွင်းဆက်တွင်ဓာတ်ပုံရိုက်ပါ for ($i = 1; $i <= $total_frames; $i++) { $photo_file = $photos_dir . '/photo' . $i . '.jpg'; // image file name $command = 'fswebcam -r 640x480 --no-banner ' . $photo_file; // ဓာတ်ပုံရိုက်ရန်ကင်မရာကိုခေါ်ပါ shell_exec($command); sleep($interval); // သတ်မှတ်ထားသောအချိန်ကြားကာလစောင့်ပါ } // အချိန်သို့ဓာတ်ပုံများ synthesize-lapseဗီဒီယိုချက်ချက် $video_file = '/path/to/video.mp4'; // အမှန်တကယ်လမ်းကြောင်းနှင့်အစားထိုးလိုက်ပါ $command = 'ffmpeg -framerate 24 -pattern_type glob -i "' . $photos_dir . '/*.jpg" -c:v libx264 -pix_fmt yuv420p ' . $video_file; shell_exec($command); // ရိုက်ကူးထားသောဓါတ်ပုံများကိုဖျက်ပါ array_map('unlink', glob($photos_dir . '/*.jpg')); rmdir($photos_dir); ?>
အထက်ပါကုဒ်များတွင်ပစ်ခတ်မှုကြားကာလနှင့်စုစုပေါင်းဘောင်အရေအတွက်ကိုပထမ ဦး ဆုံးသတ်မှတ်ထားသည်။ ထို့နောက်ဓာတ်ပုံရိုက်ရန် FSWEBCAM command ကို သုံး. သတ်မှတ်ထားသောဖိုင်တွဲသို့သိမ်းဆည်းပါ။ ရိုက်ကူးမှုပြီးဆုံးသွားသောအခါဓာတ်ပုံကိုအချိန်ချုံးဗွီဒီယိုထဲသို့ဆွဲပြီးသတ်မှတ်ထားသောတည်နေရာသို့သိမ်းဆည်းရန် FFMPEP command ကိုသုံးပါ။ နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ယာယီထုတ်လုပ်ထားသောဓာတ်ပုံများကိုသန့်ရှင်းရေးပြုလုပ်ခဲ့သည်။
အထက်ပါကုဒ်ကို PPP ဖိုင်တစ်ခုအဖြစ်သိမ်းဆည်းပြီးလမ်းကြောင်းသို့လမ်းကြောင်းကိုအစားထိုးပါ။ ထို့နောက် PHP ဖိုင်ကို Time-lapse ဗီဒီယိုကိုစတင်ရန် browser သို့မဟုတ် command line မှတဆင့် run ပါ။
PHP မှတစ်ဆင့် Time-Lapse ဗီဒီယိုများကိုမှတ်တမ်းတင်ရန်ကင်မရာကိုဖုန်းခေါ်ဆိုခြင်းသည်အလွန်ရိုးရှင်းပြီးထိရောက်သောနည်းလမ်းတစ်ခုဖြစ်သည်။ ဒီသင်ခန်းစာကဒီ function ကိုအကောင်အထည်ဖော်ရန်ကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။ မည်သည့်ပြ problems နာကိုမဆိုသင်ကြုံတွေ့ရပါကသက်ဆိုင်ရာသတင်းအချက်အလက်များကိုသင်အမြဲစစ်ဆေးနိုင်သည်သို့မဟုတ်နည်းပညာဖိုရမ်တွင်အကူအညီတောင်းနိုင်သည်။