လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ဗီဒီယိုတည်းဖြတ်ခြင်း function ကိုအသေးစိတ်ရှင်းပြချက် - ဗီဒီယိုတည်းဖြတ်ရန် FFMPEG ကိုမည်သို့အသုံးပြုရမည်နည်း

PHP ဗီဒီယိုတည်းဖြတ်ခြင်း function ကိုအသေးစိတ်ရှင်းပြချက် - ဗီဒီယိုတည်းဖြတ်ရန် FFMPEG ကိုမည်သို့အသုံးပြုရမည်နည်း

gitbox 2025-06-14

1.1 ။ ffmpeg မိတ်ဆက်

1.2 ။ PHP ဗီဒီယိုအပြောင်းအလဲနဲ့ function ကို

PHP သည်ဗီဒီယိုများကိုလုပ်ဆောင်ချက်များစွာမှတစ်ဆင့်ဗွီဒီယိုများကိုလုပ်ဆောင်နေသည်။ အောက်ပါတို့သည်ဘုံလုပ်ဆောင်မှုများကိုဖော်ပြထားသည်။

1.2.1 ။ ffmpeg_open ()

FFMPeg_open () ကိုဗွီဒီယိုဖိုင်တစ်ခုဖွင့်ပြီးဗွီဒီယိုလက်ကိုင်ကိုပြန်ပို့ရန်အသုံးပြုသည်။ ဤတွင်အသုံးပြုမှုဥပမာတစ်ခုဖြစ်သည်။

 
$ffmpeg = ffmpeg_open('video.mp4');
    

1.2.2 ။ ffmpeg_seek ()

ffmpeg_seek () function ကိုဗီဒီယိုဖိုင်ရှိသတ်မှတ်ထားသောနေရာကိုရှာဖွေရန်အသုံးပြုသည်။ ဥပမာအားဖြင့်, ဗွီဒီယို၏ Playback pointer ကို 3 နှစ်မြောက်ဒုတိယနေရာတွင်ထားပါ။

 
ffmpeg_seek($ffmpeg, 30); // ဗီဒီယို pointer ကိုရွှေ့ပါ30စက်ဏန့်
    

1.2.3 ။ ffmpeg_frame_to_png ()

ffmpeg_frame_to_png () function သည်ဗွီဒီယိုရှိအချို့သော frame တစ်ခုကို png image file တစ်ခုအဖြစ်သိမ်းဆည်းရန်အသုံးပြုသည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 
ffmpeg_frame_to_png($ffmpeg, 'output.png');
    

2 ။ လျှောက်လွှာဥပမာ - GIF Animation to video

PHP ကို ​​GIF Animation သို့ကူးယူရန် PHP ကိုအသုံးပြုပါမည်။ ပထမ ဦး စွာ PHP ၏ FFPP တိုးချဲ့မှုကို install လုပ်ရန်နှင့်၎င်းကို install လုပ်ရန်အောက်ပါ command ကိုသုံးရန်လိုအပ်သည်။

 
sudo pecl install ffphp
    

တပ်ဆင်ပြီးသည်နှင့်ဗွီဒီယိုကို gif animation သို့ပြောင်းရန်ကုဒ်နံပါတ်ပြည့်စုံသောကုဒ်ဖြစ်သည်။

 
$ffmpeg = ffmpeg_open('video.mp4');
$frames = 30; // 每စက်ဏန့်生成30အရိုးစု
$width = 240;  // GIFပုံ
$height = 180; // GIFပုံအမြင့်

$gif = new GifEncoder();

for ($i = 0; $i < $frames; $i++) {
    ffmpeg_seek($ffmpeg, $i * 1 / $frames * $duration); // 计算每一အရိုးစု对应的时间点
    $tmp_file = tempnam(sys_get_temp_dir(), 'movie_frame');
    ffmpeg_frame_to_png($ffmpeg, $tmp_file); // 获取当前အရိုးစု并保存为PNGပမာဏ

    $im = imagecreatefrompng($tmp_file); // သေတမ်းစာPNGကူးပြောင်းGDအရုပ်
    imagedestroy($im); // မှတ်ဥာဏ်အခမဲ့မှတ်ဥာဏ်

    $gif->addFrame($im); // သေတမ်းစာ当前အရိုးစု添加到GIFကာတွန်းထဲမှာ
    unlink($tmp_file); // ယာယီဖိုင်များကိုဖျက်ပါ
}

$gif->finish(); // အပြီးသတ်GIFဖိုင်မျိုးဆက်
    

အထက်ပါကုဒ်တွင် GIF Class မှ GIF Animation သို့ GIF Animation သို့ပြောင်းသည်။ GIF Encoder ၏စင်ကြယ်သော PHP အကွညျဖြစ်သော Githububl Gitubub မှအတန်းကို download လုပ်နိုင်သည်။

3 ။ နိဂုံးချုပ်

PHP သည်ဗွီဒီယိုအပြောင်းအလဲအတွက်အစွမ်းထက်သောလုပ်ဆောင်မှုများကိုပေးသည်။ built-in ffmpeg function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဗွီဒီယိုတည်းဖြတ်ခြင်း, ပြောင်းလဲခြင်း, ရုပ်ပုံထုတ်ယူခြင်းနှင့်အခြားစစ်ဆင်ရေးများအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဒီဆောင်းပါးမှာဗီဒီယိုဖိုင်ဖိုင်ကို gif animation တစ်ခုမှာဘယ်လိုပြောင်းလဲရမလဲဆိုတာပြတယ်။ ဒီဥပမာတွေကသင့်ကိုကူညီပေးပြီး PHP မှာဗွီဒီယိုတည်းဖြတ်မှုကိုပိုကောင်းအောင်လုပ်ပေးပါ။