FFmpeg (https://www.ffmpeg.org/) යනු ශ්රව්ය සහ වීඩියෝ පටිගත කිරීමට, පරිවර්තනය කිරීමට සහ ප්රවාහ කිරීමට සම්පූර්ණ, හරස් වේදිකා විසඳුමකි. FFmpeg යනු මිනිසුන් සහ යන්ත්ර විසින් නිර්මාණය කර ඇති ඕනෑම දෙයක් විකේතනය කිරීමට, කේතනය කිරීමට, ට්රාන්ස්කෝඩ් කිරීමට, mux, demux, ප්රවාහ කිරීමට, පෙරීමට සහ වාදනය කිරීමට හැකි ප්රමුඛ බහුමාධ්ය රාමුවකි. එය කැපුම් දාරය දක්වා වඩාත්ම නොපැහැදිලි පැරණි ආකෘති සඳහා සහය දක්වයි. ඒවා කිසියම් ප්රමිති කමිටුවක්, ප්රජාවක් හෝ සංස්ථාවක් විසින් නිර්මාණය කර ඇත්නම් කමක් නැත.
එය ඉතා ඉහලින් අතේ ගෙන යා හැකි ය: FFmpeg Linux, Mac OS X, Microsoft Windows, BSDs, Solaris, යනාදී... විවිධාකාර ගොඩනැගීම් පරිසරයන්, යන්ත්ර නිර්මාණ ශිල්පය යටතේ අපගේ පරීක්ෂණ යටිතල පහසුකම් FATE සම්පාදනය කරයි, ධාවනය කරයි, සහ සම්මත කරයි. සහ වින්යාස කිරීම්.
FFmpeg පුස්තකාලයම LGPL 2.1 බලපත්රය යටතේ ඇත. ඇතැම් බාහිර පුස්තකාල (libx264 වැනි) සක්රීය කිරීම බලපත්රය GPL 2 හෝ ඊට පසු බවට වෙනස් කරයි.
මම පුස්තකාල සම්පාදනය කිරීමට ffmpeg-android-maker පිටපත (දායකයින්: Alexander Berezhnoi Javernaut + codacy-badger Codacy Badger + A2va) භාවිතා කළෙමි. මෙම ස්ක්රිප්ටය https://www.ffmpeg.org වෙතින් FFmpeg හි මූල කේතය බාගත කර පුස්තකාලය ගොඩනඟා එය Android සඳහා එකලස් කරයි. ස්ක්රිප්ට් බෙදාගත් පුස්තකාල (*.so ගොනු) මෙන්ම ශීර්ෂ ගොනු (*.h ගොනු) නිෂ්පාදනය කරයි.
ffmpeg-android-maker හි ප්රධාන අවධානය ඇන්ඩ්රොයිඩ් ව්යාපෘතියකට බාධාවකින් තොරව ඒකාබද්ධ කිරීම සඳහා හවුල් පුස්තකාල සකස් කිරීමයි. ස්ක්රිප්ට් එක භාවිතා කිරීමට අදහස් කරන 'ප්රතිදාන' නාමාවලිය සකස් කරයි. ඒ වගේම මේ ව්යාපෘතිය කරන එකම දේ ඒක නෙවෙයි. ffmpeg-android-maker හි මූල කේතය MIT බලපත්රය යටතේ පවතී. https://github.com/Javernaut/ffmpeg-android-maker/ හි වැඩි විස්තර සඳහා LICENSE.txt ගොනුව බලන්න eXport-it FFmpeg පුස්තකාල හුදෙක් libaom, libdav1d, liblame, libopus සහ libtwolame සමඟ සම්පාදනය කර ඇත...නමුත් සියලුම ආශ්රිත පුස්තකාල නොවේ.
FFmpeg සඳහා ජාවා සහාය සංවර්ධනය කර එය Android 7.1 සිට 12 දක්වා ධාවනය කිරීමට, මම තවදුරටත් නඩත්තු නොකරන Taner Sener විසින් https://github.com/tanersener/mobile-ffmpeg/ හි ලේඛනගත කර ඇති MobileFFmpeg ව්යාපෘතියෙන් ආරම්භ කළෙමි. ... සහ LGPL 3.0 ...
යටතේ බලපත්ර ලබා ඇතඅවසාන වශයෙන්, මම පුස්තකාල සමඟ JNI Android Studio ව්යාපෘතියක් සකස් කර, ගොනු සහ ජාවා ආධාරක කේතය ඇතුළත් කර, මගේ පවතින ව්යාපෘතිවලට අතිරේක පුස්තකාලයක් ලෙස ඒකාබද්ධ කිරීමට .aar පුස්තකාල ගොනුවක් උත්පාදනය කළෙමි.
බහු විකාශන නාලිකාවක් ආරම්භ කිරීම සඳහා සේවාලාභියෙකු භාවිතා කිරීම අවශ්ය වේ, FFmpeg සහාය ඇතිව ඔබේ ප්රාදේශීය ජාලයේ (Wi-Fi) UPnP සේවාදායකයක් වෙත ප්රවේශ වීමට. මෙම සේවාදායකය එය අපනයනය කරන ගොනු ලැයිස්තුව සමඟ පිළිතුරු දිය යුතුය. මෙම සේවාදායකයට FFmpeg සහය තිබේ නම්, ලැයිස්තු පිටුවේ ඉහළ පේළියේ අවසානයේ "නාලිකාවක් ලෙස" යන කුඩා පාඨයක් රතු පැහැයෙන් පෙන්විය යුතුය. පෙළ "රතු" වන විට, "play" බොත්තම මත ක්ලික් කිරීම UPnP ප්රොටෝකෝලය භාවිතා කිරීමට පෙර මෙන් ක්රියා කරයි. ඔබ පෙළ මත ක්ලික් කළහොත්, එය "කොළ" බවට පත් විය යුතු අතර, වීඩියෝ හෝ ශ්රව්ය ගොනු තේරීමෙන් පසු "ප්ලේ" බොත්තම ක්ලික් කිරීමෙන් "නාලිකාවක්" ආරම්භ කළ යුතුය.
තෝරාගත් මාධ්ය ගොනු UPnP හරහා පෙනෙන ආකාරයටම වාදනය වේ, අමතර කාර්යයන් හේතුවෙන් ආරම්භක ප්රමාදය දිගු වේ. නළය සක්රියව තබා ගැනීමට ඔබ මෙම සේවාදායකයා මාධ්ය ගොනු වාදනය කර තබාගත යුතුය.
IP බහු විකාශනය අන්තර්ජාලය හරහා ක්රියා නොකරයි, එය ප්රධාන වශයෙන් Wi-Fi මත ක්රියා කරන්නේ Local Area Network මත පමණි. බහු විකාශන දත්ත නාලිකාවක් බොහෝ සේවාලාභීන්ට එකවර බෙදා ගත හැක. ඔබ ඔබේ Wi-Fi ජාලයේ මාධ්ය දත්ත ප්රවාහයක් යවන අතර සම්බන්ධිත උපාංගවල මෙම දත්ත පෙන්වන්න, ආසන්න වශයෙන්, ප්රමාද ප්රමාද වෙනස පමණි.
UPnP හෝ HTTP ප්රවාහය සමඟින්, සෑම උපාංගයකටම පෙන්වන වීඩියෝවේ කලාප පළල අවශ්ය වන අතර ගෝලීය කලාප පළල යනු ගමනාගමන දෙකේම එකතුවයි. බහු විකාශන ප්රවාහය සමඟින්, අපි බහු සේවාලාභීන් අතර බෙදා ගන්නා LAN මත එක් දත්ත ප්රවාහයක් යවන්නෙමු.
ඔබ නාලිකාවක් ආරම්භ කිරීමෙන් පසු ඔබේ ජාලයේ වෙනත් සේවාලාභියෙකු භාවිතා කරන්නේ නම්, ඔබ සේවාලාභී ප්රධාන කවුළුවෙහි අමතර රේඛාවක් දැකිය යුතුය. මෙම රේඛාව මත ක්ලික් කිරීමෙන් සංදර්ශනය ආරම්භ විය යුතුය.
වීඩියෝවක් පෙන්වීමට හෝ බහු විකාශන නාලිකාවක් හරහා බෙදා හරින ලද සංගීතයට සවන් දීමට VLC, SMplayer, ... වැනි වෙනත් නිෂ්පාදන භාවිතා කිරීම ද eXport-it client හි පෙන්වා ඇති "UDP" URL භාවිතා කළ හැකිය.
බහු විකාශන නාලිකාවක් නැවැත්වීමට ඇති හොඳ ක්රමය නම් මෙම නාලිකාව එහි පාලනය වන නිසා ඔබ එය ආරම්භ කළ සේවාලාභියා මත එය නැවැත්වීමයි. ප්රවාහ කළ මාධ්ය ගොනුවල අවසානය දක්වා වාදනය කිරීමෙන් සංදර්ශනයේ අවසානය ද ලබා දිය යුතුය.
Multicast නාලිකාවක් ආරම්භ කිරීම සඳහා මෙම යෙදුමේ නිශ්චිත සේවාදායක කොටසක් අවශ්ය වේ, මගේ අනෙකුත් යාවත්කාලීන නිෂ්පාදනවල eXport-it සේවාලාභියාට සමාන වේ. ධාවනය වන බහු විකාශ නාලිකාවක් භාවිතා කිරීම යෙදුම් සේවාලාභියා සමඟ හෝ වෙනත් වේදිකාවල හෝ Android මත ධාවනය වන VLC, SMPlayer, ... වැනි වෙනත් නිෂ්පාදන සමඟ කළ හැක. VLC භාවිතා කරන විට බහු විකාශන නාලිකාවක් භාවිතා කිරීමට URL එක udp://@239.255.147.111:27192... වැනි අමතර "@" සමඟ සුමට ලෙස වෙනස් වේ. UDP Multicast නාලිකාවක් සමඟින් මාධ්ය දත්ත යවනු ලබන්නේ එක් වරක් පමණක් බහු සේවාලාභීන් මත පෙන්වීමට, නමුත් සැබෑ සමමුහුර්ත කිරීමක් නොමැති අතර, ප්රමාදය ස්වාරක්ෂක සහ උපාංග ලක්ෂණ අනුව තත්පර විය හැක.
ශ්රව්ය බහු විකාශන නාලිකාවකට සවන් දීම වෙනත් නිෂ්පාදන සමඟ කළ හැකි නමුත් විශේෂිත සේවාලාභියා IP බහු විකාශනය හරහා යවන ලද රූප ද පෙන්වයි. ඔබට සංගීතය සමඟ නිශ්චිත ඡායාරූප යැවීමට අවශ්ය නම්, ඔබට සේවාදායකයේ ඇති "පිටුව 2" මෙනු විකල්පය භාවිතා කළ හැකිය, ඔබට අවශ්ය පින්තූර පමණක් තේරීමට, එක් ක්ලික් කිරීමකින් සියලුම පින්තූර තෝරා නොගෙන, ඔබට අවශ්ය මේවා තෝරන්න... p>
එක් එක් ප්රොටෝකෝලය සමඟ වාසි සහ අපහසුතා ඇත. UPnP සහ Multicast නාලිකාව භාවිතා කළ හැක්කේ දේශීය ජාලයේ (ප්රධාන වශයෙන් Wi-Fi) පමණි, HTTP ප්රවාහය දේශීයව පමණක් නොව අන්තර්ජාලය හරහා ද ක්රියා කරන අතර වෙබ් බ්රවුසරයක් සේවාදායකයා ලෙස භාවිතා කරයි. UPnP සහ Multicast නාලිකාවට ප්රවේශය පාලනය කිරීමට ආරක්ෂිත ක්රමයක් නොමැති අතර Wi-Fi ජාලයට සම්බන්ධ ඕනෑම උපාංගයක් ධාවනය වන සේවාදායකය භාවිතා කළ හැක. HTTP ප්රොටෝකෝලය සමඟින්, ඔබට පරිශීලක නාම සහ මුරපද නිර්වචනය කළ හැකි අතර, විශේෂිත පරිශීලකයින් සඳහා සමහර මාධ්ය ගොනු වෙත ප්රවේශය සීමා කරමින් ප්රවේශ කාණ්ඩ (කණ්ඩායම්) තුළ ගොනු සැකසීමට හැකිය. සේවාදායකයේ සිටුවම් මඟින් බෙදා හරින ගොනු සීමා කිරීමට සහ අවශ්ය නම් ගොනුවකට ප්රවර්ග නාමයක් සැකසීමට අවසර දෙයි.