back

eXport-it FFmpeg

FFmpeg စာကြည့်တိုက်ဆိုတာ ဘာလဲ။

FFmpeg (https://www.ffmpeg.org/) သည် အသံနှင့်ဗီဒီယိုကို အသံသွင်းခြင်း၊ ပြောင်းလဲခြင်းနှင့် တိုက်ရိုက်ထုတ်လွှင့်ခြင်းအတွက် ပြီးပြည့်စုံသော၊ ဖြတ်ကျော်သည့်ဖြေရှင်းချက်တစ်ခုဖြစ်သည်။ FFmpeg သည် ထိပ်တန်း မာလ်တီမီဒီယာဘောင်တစ်ခုဖြစ်ပြီး၊ ကုဒ်၊ ကုဒ်၊ အသွင်ပြောင်း၊ mux၊ demux၊ stream၊ filter နှင့် လူသားများနှင့် စက်များဖန်တီးထားသည့် မည်သည့်အရာကိုမဆို ဆော့ကစားနိုင်သည့် ထိပ်တန်းဖြစ်သည်။ ၎င်းသည် ဖြတ်တောက်သည့်အစွန်းအထိ အထင်ရှားဆုံးသော ရှေးဟောင်းဖော်မတ်များကို ပံ့ပိုးပေးသည်။ ၎င်းတို့ကို အချို့သော စံနှုန်းကော်မတီ၊ အသိုင်းအဝိုင်း သို့မဟုတ် ကော်ပိုရေးရှင်းတစ်ခုက ဒီဇိုင်းဆွဲထားပါစေ။

၎င်းသည် အလွန်သယ်ဆောင်ရလွယ်ကူသည်- FFmpeg သည် ကျွန်ုပ်တို့၏စမ်းသပ်ခြင်းအခြေခံအဆောက်အအုံ FATE ကို Linux၊ Mac OS X၊ Microsoft Windows၊ BSDs၊ Solaris စသည်ဖြင့် ကျယ်ပြန့်စွာတည်ဆောက်ထားသော ပတ်ဝန်းကျင်၊ စက်ဗိသုကာများအောက်တွင်၊ နှင့်ဖွဲ့စည်းပုံများ။

FFmpeg စာကြည့်တိုက်ကိုယ်တိုင်က LGPL 2.1 လိုင်စင် အောက်တွင် ရှိနေသည်။ အချို့သော ပြင်ပစာကြည့်တိုက်များကို ဖွင့်ခြင်း (libx264 ကဲ့သို့) သည် လိုင်စင်အား GPL 2 သို့မဟုတ် နောက်ပိုင်းတွင် ပြောင်းလဲပါသည်။

ဤစာကြည့်တိုက်ကို Android အပလီကေးရှင်းတွင် မည်သို့ပေါင်းစပ်ထားသည်

စာကြည့်တိုက်များကို စုစည်းရန်အတွက် ffmpeg-android-maker (ပံ့ပိုးကူညီသူများ- Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va) ကို အသုံးပြုခဲ့သည်။ ဤဇာတ်ညွှန်းသည် https://www.ffmpeg.org မှ FFmpeg ၏ရင်းမြစ်ကုဒ်ကို ဒေါင်းလုဒ်လုပ်ကာ စာကြည့်တိုက်ကို တည်ဆောက်ပြီး ၎င်းကို Android အတွက် စုစည်းပေးသည်။ ဇာတ်ညွှန်းသည် မျှဝေထားသော စာကြည့်တိုက်များ (*.so ဖိုင်များ) နှင့် ခေါင်းစီးဖိုင်များ (*.h ဖိုင်များ) ကို ထုတ်လုပ်ပေးပါသည်။

ffmpeg-android-maker ၏ အဓိကအာရုံမှာ Android ပရောဂျက်တစ်ခုသို့ ချောမွေ့စွာပေါင်းစည်းရန်အတွက် မျှဝေထားသောစာကြည့်တိုက်များကို ပြင်ဆင်ရန်ဖြစ်သည်။ ဇာတ်ညွှန်းသည် အသုံးပြုရန် ရည်ရွယ်ထားသည့် `အထွက်` လမ်းညွှန်ကို ပြင်ဆင်သည်။ နောက်ပြီး ဒီပရောဂျက်က လုပ်တာ တစ်ခုတည်းမဟုတ်ဘူး။ ffmpeg-android-ထုတ်လုပ်သူ၏ အရင်းအမြစ်ကုဒ်ကို MIT လိုင်စင်အောက်တွင် ရနိုင်ပါသည်။ https://github.com/Javernaut/ffmpeg-android-maker/ တွင် နောက်ထပ်အသေးစိတ်အချက်အလက်များအတွက် LICENSE.txt ဖိုင် ကို ကြည့်ပါ။ eXport-it FFmpeg စာကြည့်တိုက်များကို libaom၊ libdav1d၊ liblame၊ libopus နှင့် libtwolame...သို့သော် ဆက်စပ်စာကြည့်တိုက်များအားလုံး မဟုတ်ပါ။

FFmpeg အတွက် Java အထောက်အပံ့ကို ဖွံ့ဖြိုးတိုးတက်ပြီး Android 7.1 မှ 12 တွင် run ရန်အတွက် Taner Sener မှ https://github.com/tanersener/mobile-ffmpeg/ တွင် မှတ်တမ်းတင်ထားသော MobileFFmpeg ပရောဂျက်မှ စတင်ခဲ့ပါသည်။ ... နှင့် LGPL 3.0 ...

အောက်တွင် လိုင်စင်ရထားသည်။

နောက်ဆုံးတွင်၊ ကျွန်ုပ်သည် ဒစ်ဂျစ်တိုက်များနှင့်အတူ JNI Android Studio ပရောဂျက်တစ်ခုကို ပြင်ဆင်ပြီး၊ ဖိုင်များနှင့် Java ပံ့ပိုးမှုကုဒ်ကို ထည့်သွင်းကာ ကျွန်ုပ်၏ရှိရင်းစွဲပရောဂျက်များတွင် နောက်ထပ်စာကြည့်တိုက်တစ်ခုအဖြစ် ပေါင်းစည်းရန် .aar Library ဖိုင်ကို ထုတ်ပေးပါသည်။


များစွာသော ကာစ်ချာနယ်တစ်ခု စတင်နည်း

Mulcast Channel တစ်ခုစတင်ရန် FFmpeg ပံ့ပိုးမှုဖြင့် သင့်ပြည်တွင်းကွန်ရက် (Wi-Fi) ပေါ်ရှိ UPnP ဆာဗာကို ဝင်ရောက်အသုံးပြုရန် client ကိုအသုံးပြုရန် လိုအပ်ပါသည်။ ဤဆာဗာသည် ၎င်းထုတ်လွှတ်သည့်ဖိုင်များစာရင်းကို အဖြေပေးသင့်သည်။ ဤဆာဗာတွင် FFmpeg ပံ့ပိုးမှုရှိပါက၊ စာရင်းစာမျက်နှာ၏ထိပ်ဆုံးစာကြောင်း၏အဆုံးတွင် "ချန်နယ်တစ်ခုအနေဖြင့်" စာသားငယ်လေးကို အနီရောင်ဖြင့်ပြသရပါမည်။ စာသားသည် "အနီရောင်" ဖြစ်သောအခါ "play" ခလုတ်ကိုနှိပ်ခြင်းသည် UPnP ပရိုတိုကောကို အသုံးပြုခြင်းမပြုမီကဲ့သို့ လုပ်ဆောင်ပါသည်။ စာသားကို နှိပ်ပါက၊ ၎င်းသည် "အစိမ်းရောင်" ဖြစ်လာမည်ဖြစ်ပြီး ဗီဒီယို သို့မဟုတ် အသံဖိုင်များကို ရွေးချယ်ပြီးနောက် "ဖွင့်ရန်" ခလုတ်ကို နှိပ်ပါက "ချန်နယ်တစ်ခု" စတင်သင့်သည်။

ရွေးချယ်ထားသော မီဒီယာဖိုင်များကို UPnP မှတဆင့် တူညီသောပုံစံဖြင့် ဖွင့်ထားသည်၊ စတင်ခြင်းနှောင့်နှေးမှုသည် နောက်ထပ်လုပ်ဆောင်စရာများကြောင့် ပိုကြာသည်မှတပါး၊ ပိုက်ကို ဆက်လက်လည်ပတ်နေစေရန် ဤကလိုင်းယင့်သည် မီဒီယာဖိုင်များကို ဆက်လက်ဖွင့်ထားရပါမည်။

ဤပိုက်ကို အခြားစက်ပစ္စည်းများတွင် အသုံးပြုခြင်း

IP multicast သည် အင်တာနက်ပေါ်တွင် အလုပ်မလုပ်ပါ၊ ၎င်းသည် Local Area Network တွင်သာ အလုပ်လုပ်သောကြောင့် အဓိကအားဖြင့် Wi-Fi တွင်ဖြစ်သည်။ Multicast ဒေတာချန်နယ်ကို သုံးစွဲသူများစွာက တစ်ပြိုင်နက် မျှဝေနိုင်ပါသည်။ သင်သည် သင်၏ Wi-Fi ကွန်ရက်ပေါ်ရှိ မီဒီယာဒေတာစီးဆင်းမှုကို ပေးပို့နေပြီး တုံ့ပြန်နေချိန်နှောင့်နှေးမှု ကွာခြားချက်မျှသာဖြစ်ပြီး ချိတ်ဆက်ထားသော စက်များပေါ်တွင် အဆိုပါဒေတာများကို တစ်ပြိုင်တည်းနီးပါးပြသနေသည်။

UPnP သို့မဟုတ် HTTP streaming ဖြင့်၊ စက်တစ်ခုစီသည် ပြသထားသော ဗီဒီယို၏ bandwidth လိုအပ်ပြီး global bandwidth သည် traffic နှစ်ခုလုံး၏ ပေါင်းစည်းမှုဖြစ်သည်။ multicast streaming ဖြင့်၊ ကျွန်ုပ်တို့သည် client များစွာကြားတွင် မျှဝေထားသော LAN ပေါ်တွင် ဒေတာစီးဆင်းမှုတစ်ခု ပို့ပေးပါသည်။

ချန်နယ်တစ်ခုကို စတင်ပြီးနောက် သင့်ကွန်ရက်ပေါ်တွင် အခြား client ကိုအသုံးပြုပါက၊ client ပင်မဝင်းဒိုးတွင် နောက်ထပ်လိုင်းတစ်ခုကို သင်တွေ့ရပါမည်။ ဤစာကြောင်းကို နှိပ်လိုက်ရုံဖြင့် ပြခန်းကို စတင်သင့်သည်။

VLC၊ SMplayer၊ ... ကဲ့သို့သော အခြားထုတ်ကုန်များကို အသုံးပြု၍ eXport-it ကလိုင်းယင့်ပေါ်တွင် ပြသထားသည့် "UDP" URL ကို အသုံးပြုရုံဖြင့် ဗီဒီယိုတစ်ခုပြသရန် သို့မဟုတ် များစွာသော ကာစ်ချာနယ်တစ်ခုပေါ်တွင် ဖြန့်ဝေထားသော သီချင်းနားထောင်ရန်လည်း ဖြစ်နိုင်သည်။

များစွာသောကာစ်တ်ချန်နယ်တစ်ခုကို ရပ်ရန်

Multicast Channel တစ်ခုကို ရပ်တန့်ရန် နည်းလမ်းကောင်းမှာ ဤချန်နယ်ကို ထိုနေရာတွင် ထိန်းချုပ်ထားသောကြောင့် ၎င်းကို သင်စတင်ခဲ့သည့် client တွင် ၎င်းကို ရပ်လိုက်ခြင်းဖြစ်သည်။ တိုက်ရိုက်လွှင့်မီဒီယာဖိုင်များ၏အဆုံးအထိ ဖွင့်ခြင်းသည်လည်း ရှိုး၏အဆုံးကိုပေးသင့်သည်။

လက်တွေ့ ထည့်သွင်းစဉ်းစားချက်များ

Multicast ချန်နယ်တစ်ခုစတင်ရန်အတွက် ကျွန်ုပ်၏အခြားနောက်ဆုံးပေါ်ထုတ်ကုန်များ၏ eXport-it client ကဲ့သို့ ဤအပလီကေးရှင်း၏ တိကျသောဖောက်သည်တစ်ပိုင်း လိုအပ်ပါသည်။ ပြေးနေသည့် multicast ချန်နယ်ကို အသုံးပြုရန် အပလီကေးရှင်းကလိုင်းယင့်နှင့် သို့မဟုတ် VLC၊ SMPlayer၊ ... အခြားပလပ်ဖောင်းများပေါ်တွင် သို့မဟုတ် Android ပေါ်တွင် လုပ်ဆောင်နေသည့် အခြားထုတ်ကုန်များဖြင့် လုပ်ဆောင်နိုင်သည်။ VLC ကိုအသုံးပြုသည့်အခါ Multicast ချန်နယ်ကိုအသုံးပြုရန် URL သည် udp://@239.255.147.111:27192... အပို "@" ဖြင့်သာ ကွဲပြားပါသည်။ UDP Multicast ချန်နယ်တစ်ခုဖြင့် မီဒီယာဒေတာကို ကလိုင်းယင့်များစွာတွင် ပြသရန် တစ်ကြိမ်သာ ပေးပို့သော်လည်း စစ်မှန်သော ထပ်တူပြုခြင်းမျိုးမရှိပါ၊ နှောင့်နှေးမှုသည် စက္ကန့်ပိုင်းနှင့် ကိရိယာလက္ခဏာများပေါ် မူတည်၍ နှောင့်နှေးနိုင်ပါသည်။

အသံမျိုးစုံကာစ်တ်ချန်နယ်ကို နားထောင်ခြင်းသည် အခြားထုတ်ကုန်များနှင့် လုပ်ဆောင်နိုင်သော်လည်း တိကျသောဖောက်သည်သည် IP ဘက်စုံကာစ်မှတစ်ဆင့် ပေးပို့သည့်ပုံများကို ပြသသည်။ သင်သည် သီချင်းဖြင့် သီးသန့်ဓာတ်ပုံများ ပေးပို့လိုပါက၊ သင်သည် ဆာဗာပေါ်ရှိ "စာမျက်နှာ 2" မီနူးရွေးချယ်မှုကို အသုံးပြုနိုင်ပြီး သင်လိုချင်သောပုံများကိုသာ ရွေးချယ်နိုင်ပြီး ပုံအားလုံးကို ကလစ်တစ်ချက်နှိပ်ရုံဖြင့် ရွေးဖြုတ်ပါ၊ ထို့နောက် သင်လိုချင်သော ပုံများကို ရွေးချယ်ပါ...

ပရိုတိုကောတစ်ခုစီတွင် အားသာချက်များနှင့် အဆင်မပြေမှုများရှိသည်။ UPnP နှင့် Multicast ချန်နယ်ကို ဒေသတွင်း ကွန်ရက် (အဓိကအားဖြင့် Wi-Fi) တွင်သာအသုံးပြုနိုင်ပါသည်၊ HTTP ထုတ်လွှင့်ခြင်းကို စက်တွင်းတွင်သာမက အင်တာနက်ပေါ်တွင်ပါ လုပ်ဆောင်နိုင်ပြီး ဝဘ်ဘရောက်ဆာကို သုံးစွဲသူအဖြစ် အသုံးပြုပါ။ UPnP နှင့် Multicast ချန်နယ်များသည် ဝင်ရောက်ကြည့်ရှုခြင်းကို ထိန်းချုပ်ရန် လုံခြုံသောနည်းလမ်းမရှိသည့်အပြင် Wi-Fi ကွန်ရက်ပေါ်တွင် ချိတ်ဆက်ထားသည့် မည်သည့်စက်ပစ္စည်းမဆို လည်ပတ်နေသော ဆာဗာကို အသုံးပြုနိုင်သည်။ HTTP ပရိုတိုကောဖြင့်၊ သင်သည် အသုံးပြုသူအမည်များနှင့် စကားဝှက်များကို သတ်မှတ်နိုင်ပြီး အမျိုးအစားခွဲများ (အုပ်စုများ) တွင် ဖိုင်များကို သတ်မှတ်နိုင်သည်၊ သတ်မှတ်ထားသော အသုံးပြုသူများအတွက် အချို့သော မီဒီယာဖိုင်များသို့ ဝင်ရောက်ခွင့်ကို ကန့်သတ်နိုင်သည်။ ဆာဗာ၏ဆက်တင်များက မည်သည့်ဖိုင်များကို ဖြန့်ဝေသည်ကို ကန့်သတ်ရန်နှင့် လိုအပ်ပါက ဖိုင်တစ်ခုစီ၏ အမျိုးအစားအမည်ကို သတ်မှတ်ရန် ခွင့်ပြုသည်။

back