eXport-it, android  UPnP Client/Server

לקוח eXport-it אנדרואיד UPnP/HTTP / שרת

Android


יישום שיתוף קבצי אנדרואיד עבור וידאו, אודיו, תמונות וספרים אלקטרוניים




eXport-it FFmpeg



מהי ספריית FFmpeg?

FFmpeg (https://www.ffmpeg.org/) הוא פתרון שלם חוצה פלטפורמות להקלטה, המרה והזרמת אודיו ווידאו. FFmpeg היא מסגרת המולטימדיה המובילה, המסוגלת לפענח, לקודד, להמיר, mux, demux, להזרים, לסנן ולהשמיע כמעט כל דבר שבני אדם ומכונות יצרו. הוא תומך בפורמטים העתיקים המעורפלים ביותר עד לקצה הקצה. לא משנה אם הם עוצבו על ידי ועדת תקינה כלשהי, הקהילה או תאגיד.

הוא גם נייד מאוד: 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) כדי להרכיב את הספריות. סקריפט זה מוריד את קוד המקור של FFmpeg מ-https://www.ffmpeg.org ובונה את הספרייה ומרכיב אותה עבור אנדרואיד. הסקריפט מייצר ספריות משותפות (קבצי *.so) וכן קובצי כותרות (קבצי *.h).

המוקד העיקרי של ffmpeg-android-maker הוא להכין ספריות משותפות לשילוב חלק בפרויקט אנדרואיד. הסקריפט מכין את ספריית 'פלט' המיועדת לשימוש. וזה לא הדבר היחיד שהפרויקט הזה עושה. קוד המקור של ffmpeg-android-maker זמין תחת רישיון MIT. עיין בקובץ LICENSE.txt לפרטים נוספים בכתובת https://github.com/Javernaut/ffmpeg-android-maker/ ספריות eXport-it FFmpeg מורכבות רק עם libaom, libdav1d, liblame, libopus ו-libtwolame... אבל לא כל הספריות המשויכות.

כדי לפתח את תמיכת Java עבור FFmpeg ולהפעיל אותה על אנדרואיד 7.1 עד 12, התחלתי מפרויקט MobileFFmpeg שתועד בכתובת https://github.com/tanersener/mobile-ffmpeg/ על ידי Taner Sener, שאינו מתוחזק יותר ... והוא מורשה תחת LGPL 3.0 ...

לבסוף, הכנתי פרויקט JNI Android Studio עם הספריות, כולל קבצים וקוד תמיכה ב-Java ויוצר קובץ .aar Library כדי להשתלב כספרייה נוספת בפרויקטים הקיימים שלי.


כיצד להפעיל ערוץ ריבוי שידורים

כדי להפעיל ערוץ ריבוי שידור נדרש להשתמש בלקוח, כדי לגשת לשרת UPnP ברשת המקומית שלך (Wi-Fi) עם תמיכת FFmpeg. שרת זה אמור לענות עם הרשימה על הקבצים שהוא מייצא. אם לשרת זה יש תמיכה ב-FFmpeg, יש להציג טקסט קטן "כערוץ" באדום בסוף השורה העליונה של דף הרשימה. כאשר הטקסט הוא "אדום", לחיצה על כפתור "הפעל" פועלת כמו קודם באמצעות פרוטוקול UPnP. אם תלחץ על הטקסט, הוא אמור להיות "ירוק" ולחיצה על כפתור "הפעל", לאחר בחירת קבצי וידאו או שמע, אמורה להתחיל "ערוץ".

קובצי המדיה שנבחרו מושמעים כנראה באותו אופן מאשר באמצעות UPnP, אלא שעיכוב האתחול ארוך יותר עקב משימות נוספות. עליך לשמור על לקוח זה לנגן את קובצי המדיה כדי לשמור על הצינור פעיל.

שימוש בצינור זה במכשירים אחרים

ריבוי שידור IP אינו פועל דרך האינטרנט, הוא פועל רק ברשתות מקומיות ובעיקר ב-Wi-Fi. ערוץ נתונים רב שידור יכול להיות משותף על ידי לקוחות רבים בו זמנית. אתה שולח זרימת נתוני מדיה ברשת ה-Wi-Fi שלך ומציג נתונים אלה במכשירים מחוברים, כמעט באופן סינכרוני, רק את ההבדל בהשהיית ההשהיה.

עם הזרמת UPnP או HTTP, כל מכשיר דורש את רוחב הפס של הסרטון המוצג ורוחב הפס הגלובלי הוא הסכום של שתי התעבורה. עם הזרמת ריבוי שידורים, אנו שולחים זרימת נתונים אחת ברשת ה-LAN אשר משותף בין מספר לקוחות.

אם אתה משתמש בלקוח אחר ברשת שלך לאחר פתיחת ערוץ, אתה אמור לראות שורה נוספת בחלון הראשי של הלקוח. רק לחיצה על שורה זו אמורה להתחיל את ההצגה.

זה אפשרי גם להשתמש במוצרים אחרים כמו VLC, SMplayer, ... כדי להציג סרטון או להאזין למוזיקה המופצת בערוץ ריבוי שידורים רק באמצעות כתובת האתר "UDP" המוצגת בלקוח eXport-it.

כדי לעצור ערוץ ריבוי שידור

הדרך הטובה לעצירת ערוץ ריבוי שידורים היא לעצור אותו בלקוח שבו התחלת אותו מכיוון שהערוץ הזה נשלט שם. הפעלה עד הסוף של קבצי מדיה זורמים אמורה לתת גם את סוף התוכנית.