FFmpeg: נוספה יכולת שימושית למאזיני רדיו אינטרנטי דרך Tvheadend

תוכנות ניהול מדיה: KODI, תוספים, XBMC, Media Portal, PLEX וכו'
dhead666 פותח השרשור
סמל אישי של משתמש
גורו HTPC
גורו HTPC
תגובות: 2975
הצטרף: פברואר 2009
נתן תודות: 123 פעמים
קיבל תודות: 879 פעמים

שליחה #1 

בהמשך לכתבה האחרונה על Tvheadend והשרשור בנושא IPTV remuxer
החל מהיום ניתן להגדיר ב־FFmpeg את סוג השירות (service_type) בהזרמת mpegts, תכונה זו חשובה כאשר הקליינט שמקבל את הסטרים צריך להחליט עפ"י התגית הזו אם מדובר בערוץ טלוויזיה או רדיו.


לדוגמה בכתבה על Tvheadend סקרתי את יכולת ביצוע צינור (piping) מ־FFmpeg ל־Tvheadend ובכך להוסיף כל סוג של הזרמה ש־FFmpeg מכירה ואף לבצע פעולות המרה שונות על רצועת הוידאו והאודיו.

כך למשל הודגם כיצד ניתן להוסיף את הזרמת HLS של 103FM ל־Tvheadend, העדכון לכתבה הוא שעכשיו ניתן ליידע את Tvheadend שמדובר בשידור רדיו ע"י הוספת הדגל:

קוד: בחירת הכל

-mpegts_service_type digital_radio
כלומר הדוגמה המלאה היא:

קוד: בחירת הכל

pipe:///usr/bin/ffmpeg -loglevel fatal -i http://103fm-s.nsacdn.com/103fm_LiveRadioRepeat/_definst_/smil:LiveRadio.smil/manifest.m3u8 -vcodec copy -acodec copy -metadata service_provider=FOO -metadata service_name=103FM -f mpegts -mpegts_service_type digital_radio -tune zerolatency pipe:1
ברגע שעשינו זאת ההזרמה שהוספנו תמופה כראוי כתחנת רדיו ולא כערוץ טלוויזיה.

כמובן שבאופן דומה ניתן גם להשתמש ב־IPTV remuxer שמשתף את הסטרים דרך HTTP.

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

ברגע שתתווסף לגרסת FFmpeg יציבה היכולת הזו תוצג בתיעוד של FFmpeg ובנוסף כדוגמה בדף הוויקי של Tvheadend בנושא הזרמת mpegts כקלט.

בימים הקרובים אדאג לקמפל לעצמי לפחות גרסת OpenELEC עבור ה־Cubox-i שברשותי עם היכולת הזו של FFmpeg ואשתף אותה כאן.

נ.ב. זה טלאי ראשון שהכנסתי ל־FFmpeg. :D

voguemaster
חבר ותיק
חבר ותיק
תגובות: 1500
הצטרף: ינואר 2012
נתן תודות: 3 פעמים
קיבל תודות: 173 פעמים

ראיתי אותך ב-ffmpeg-devel, כל הכבוד!

שליחה #2 

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

בכל מקרה, החבר'ה שם זריזים - אם הם קיבלו את הטלאי אז אתה אמור כבר לראות אותו ב-GITHUB. הבעיה היא ששידרוג FFMPEG גם ב-OE וגם בקודי זה לא דבר שהם עושים יותר מאחת לגרסה...

dhead666 פותח השרשור
סמל אישי של משתמש
גורו HTPC
גורו HTPC
תגובות: 2975
הצטרף: פברואר 2009
נתן תודות: 123 פעמים
קיבל תודות: 879 פעמים

שליחה #3 

@voguemaster

הבעיה היתה שברגע שיצרת mux של mpegts לא יכולת לקבוע את ה־service_type והוא היה מוגדר כ־Digital Television (או 0x01) שבעייתי גם עבור ערוצי טלוויזיה כיוון שעפ"י התקן מיועד רק לתוכן SD מקודד ב־MPEG2.
עכשיו כן ניתן לשנות זאת לערכים מוגדרים מראש או ע"י שליחת קוד הקסדצימלי בטווח שמוגדר בתקן.
כפי שציינתי למעלה Tvheadend מזהה אם מדובר בערוץ טלוויזיה או רדיו בעזרת קריאת הערך ב־service_type ומתייגת את הערוץ בהתאם.
כמובן שאם אתה מקבל את הערוץ דרך שירות DVB אז ה־service_type מוגדר כהלכה.

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

שלח תגובה

חזור אל “תוכנה - KODI”