שילוב ערוצי טלויזיה IPTV יחד עם ערוצים מטיונר DVB-T ב-XBMC - הכיצד ?

תוכנות ניהול מדיה: KODI, תוספים, XBMC, Media Portal, PLEX וכו'
MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #1 

היי,

יש לי טיונר DVB-T2 דרכו אני קולט את ערוצי עידן+ והוא נשלט ע"י NextPVR בתור backend.

את הערוצים הללו אני כמובן מקבל ל-XBMC יחד עם ה-EPG שלהם באמצעות הפלאג-אין עבור NextPVR.


הבעיה היא כזו:
הערוץ הראשון ב-HD לא משודר בעידן+, אבל יש לי את הכתובת של הסטרים האינטרנטי שלו ואני יכול לפתוח אותו דרך XBMC וגם לגרום ל-XBMC לגשת אליו ישירות באמצעות מקש קיצור.

השאלה היא איך בעצם אני משלב אותו כערוץ סטנדרטי מבחינת ה-PVR ?

לארגן לו EPG זה עניין טכני בלבד כי זה אותו EPG של הערוץ הראשון הרגיל, שאותו אני מקבל כבר מה-DVB-T
להקליט גם לפי מיטב הבנתי צריכה להיות אפשרות עם rtmpdump.

מה דעתכם בעניין?
תודה מראש.

andypok
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 200
הצטרף: אוגוסט 2005
נתן תודות: 25 פעמים
קיבל תודות: 9 פעמים

שליחה #2 

אתה צריך לעבוד עם שני קליינטים של PVR אחד לNEXTPVR בשביל עידן+ ועוד אחד שעובד עם כתובות או מיקומים קבועים (IPTV SIMPLE PVR).
שניהם מופיעים בהרחבות תחת קליינט PVR

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

שליחה #3 

ההמלצה שלי לעבוד עם שרת שמאפשר הזנה של ערוצי IPTV (נדמה לי MediaPortal) עקב באג ב-XBMC כאשר מאופשר יותר מקליינט PVR יחיד.
כיום תדירות ההופעה של הבאג יותר נמוכה אך עדיין קיימת, אם אין לך בעיה עם הפעלה מחדש של XBMC או תכונת ה-PVR כאשר הבאג מופיע הרי שהפתרון הפשוט זה להשתמש ב-IPTVSimple.

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #4 

אנסה את MediaPortal. תודה

אגב, ה-EPG ב-MP הוא גמיש כך שניתן לשייך את אותו ערוץ EPG ל-2 תחנות (DVB + DVB או DVB+IPTV לדוגמה) או שהוא נעול לערוץ ממנו נמשך?
Vermoze - Innovative Technology Solutions Ltd.

NegativeIQ
חבר מביא חבר
חבר מביא חבר
תגובות: 4485
הצטרף: דצמבר 2005
נתן תודות: 12 פעמים
קיבל תודות: 578 פעמים

שליחה #5 

טוב הפתרון המעצבן בינתיים הוא לעשות ל-addon של ה-IPTVSimple ביטול והפעלה מחדש בכל אתחול של XBMC.

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #6 

הדבר הזה לא מוגדר כפתרון מבחינתי.

עיינתי בנושא ה-TV Server של מדיה פורטל והאפשרות לשלב טיונר DVB-IP.
אותו דבר למעשה קיים גם ב-NextPVR.

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

קיים כלי המיועד לנושא (לינק: http://vodserver.sourceforge.net) והוא משתמש ב-rtmpdump ו-ffmpeg כדי לייצר Transport Stream מה-RTMP.

יש לי בשרת (שהוא למעשה גם הקליינט) מעבד יחסית חזק (Xeon E3) אבל צריך לבדוק אם יש אפשרות להעביר את המטלה של הקידוד ל-GPU.

עוד צריך לבדוק זה אם ה-cache שהוא מייצר לערוץ הוא רק בזמן דרישה מצד השרת או שזה משהו קבוע בתחום גודל מסוים שהמשתמש מגדיר.

benny123
סמל אישי של משתמש
חבר מכור קשה
חבר מכור קשה
תגובות: 6115
הצטרף: אוקטובר 2009
מיקום: אצלך במחשב
נתן תודות: 574 פעמים
קיבל תודות: 994 פעמים

שליחה #7 

MarioMan שנה את ה-RTMP ל-RTSP יעבוד לך גם
אם זה עדיין לא הולך תאמר לי באיזה פורמט אתה צריך את הלינק ואני אחפש לך יש מצב אצליח לעזור

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

שליחה #8 

@MarioMan

זה דוקא נראה כמו HLS ולא RTMP, הנה קישור לסטרים שהוצאתי מבדיקה זריזה מול האתר (אני לא בטוח אם מדובר בקישור זמני)
http://sl3cp.castup.net/990310142-123.f ... ylist.m3u8

במקרה והשרת שלך לא תומך ב-HLS (ו-XBMC כן תומך) אפשר להמיר זאת לכל סוג של סטרים אחר באמצעות FFMPEG, ראה בקישור דוגמה איך לעשות זאת עם סטרים HLS של אודיו בלבד (אך לא צריך להיות מסובך להגדיר גם וידאו).

http://www.hometheater.co.il/vp2113058#2113058

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

שליחה #9 

והנה סטרים HLS באיכות יותר גבוהה

http://c01cp.vds-is.castup.net/99031014 ... 50000.m3u8

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #10 

תודה!

אנסה בהמשך הערב\מחר ואדווח.
Vermoze - Innovative Technology Solutions Ltd.

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #11 

התקנתי את ה-TV Server של MediaPortal והורדתי את ה-m3u לתקיה המתאימה, אך כשנתתי לו לקרוא מהקובץ הוא לא מצא כלום.

מעיון ברשימות הערוצים המובנות נראה שכל ערוץ שם מוגדר (כמובן) עם כתובת IP, בעד שהתוכן של הלינק עצמו הוא:

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

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:20955
#EXTINF:10.0,
media-ubx52dv0w_b1850000_20955.ts
#EXTINF:10.0,
media-ubx52dv0w_b1850000_20956.ts
#EXTINF:10.0,
media-ubx52dv0w_b1850000_20957.ts

עריכה: אם אני נותן ל-XBMC לפתוח את הלינק (במקום להוריד את הקובץ) אז אין בעיה.
נערך לאחרונה על ידי MarioMan ב 23/10/2014 23:24, נערך פעם 1 בסך הכל.

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

שליחה #12 

@MarioMan

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

XBMC תומכת HLS ולכן אפשר להכניס את הכתובת של ה-m3u8 לפלייליסט m3u של IPTVSimple.
לחילופין, כפי שתיארתי אפשר להמיר את סטרים ה-HLS לכל סוג אחר (HTTP, UDP, RTMP ...) באופן פשוט ע"י FFMPEG.

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #13 

תודה על ההסבר. אז למעשה חזרנו לנקודה שניסיתי להמנע ממנה והיא לקודד וידאו מחדש.

צריך לראות כמה משאבים זה גוזל, האם זה מהווה הפרעה לשאר המטלות שהשרת מבצע (שהוא במקרה גם הקליינט שלי) והאם ניתן להזיז את המטלה אל ה-GPU.
Vermoze - Innovative Technology Solutions Ltd.

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

שליחה #14 

@MarioMan

הסטרים מקודד כבר כ-H264 ו-AAC כך שאני לא רואה סיבה למה לא יתאפשר להעביר את הוידאו והאודיו כמו שהם ורק לשנות את סוג הסטרים מ-HLS למשהו ששרת ה-PVR בו החלטת להשתמש (לאחד את ה-DVB-T וה-IPTV) כן תומך, סטרים HTTP ואולי גם UDP רגיל כנראה יתאימו לכל שרת תומך IPTV.

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

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

שליחה #15 

@MarioMan

הנה פתרון ללא קידוד מחדש, שימוש ב-ffmpeg בלבד.

צור קובץ ffserver.conf עם התוכן הבא

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

Port 8090 
BindAddress 0.0.0.0 
MaxHTTPConnections 2000 
MaxClients 1000 
MaxBandwidth 1000 
CustomLog - 
#NoDaemon 

<Feed feed1.ffm> 
   File /tmp/feed1.ffm 
   FileMaxSize 20000K 
   ACL allow 127.0.0.1 
</Feed> 

# if you want to use mpegts format instead of flv 
# then change "live.flv" to "live.ts" 
# and also change "Format flv" to "Format mpegts" 


<Stream live.ts> 
Feed feed1.ffm 
Format mpegts
</Stream> 


################################################################## 
# Special streams 
################################################################## 
<Stream stat.html> 
   Format status 
   # Only allow local people to get the status 
   ACL allow localhost 
   ACL allow 192.168.0.0 192.168.255.255
</Stream> 

# Redirect index.html to the appropriate site 
<Redirect index.html> 
   URL http&#58;//www.ffmpeg.org/ 
</Redirect> 
הפעל את ffserver

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

ffserver -f ffserver.conf
שלח ל-ffserver את כתובת הסטרים והורה שלא לקודד מחדש

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

ffmpeg -i http&#58;//c01cp.vds-is.castup.net/990310142-123.flv/smil&#58;990310142-123.smil/chunklist_b1850000.m3u8 -codec copy  http&#58;//localhost&#58;8090/feed1.ffm
עתה יש לך סטרים http פשוט שכל שרת PVR תומך IPTV צריך להיות מסוגל לנגנו

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

http&#58;//127.0.0.1&#58;8090/live.ts

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #16 

OK עדכון ביניים:

קודם כל תודה על הסקריפט - זה אכן מייצר לי TS של המבוקש. בהמשך אעשה ניסויים לייבא אותו ל-TV Server של MediaPortal ולהצמיד לו EPG.

שאלה: מה קורה מבחינת ffserver כאשר גודל ה-TS מגיע למגבלה שהצבת בסקריפט (20GB) ?

האם במצב כזה ffmpeg כותב על קובץ ה-TS מההתחלה כך שהוא לא הורס את הרצף של השידור?
Vermoze - Innovative Technology Solutions Ltd.

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

שליחה #17 

@MarioMan

זה 20MB, פשוט הכנסתי ערך שגדול יותר מקצב הנתונים של הסטרים, לא נראה לי ש-ffserver שומר במטמון את הסטרים אלא זה באחריות של הנגן.
מה שכן אולי שווה לשקול זה להוסיף Buffer של כמה שניות שאולי יפתח את הסטרים יותר מהר.

למידע נוסף פנה לתיעוד
https://www.ffmpeg.org/ffserver.html

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #18 

עדכון נוסף - הצלחתי.

ייבאתי את הסטרים ש-ffserver מייצר אל ה-TV Server של MediaPortal ולאחר מכן הגדרתי לו לאחד את הסטרים יחד עם זה שמגיע מה-DVB-T, כך שהוא מתייחס אליהם כאל ערוץ אחד.

לאחר מכן, כשהם מוגדרים כתחנה אחת וה-EPG תקין, מחקתי את התחנה מה-DVB-T מרשימת המקורות של אותו ערוץ, כך שנשארתי עם ערוץ שהמקור שלו הוא הסטרים ש-ffserver מייצר וה-EPG שלו הוא מה-DVB-T.

כעת נותר לבדוק למה ffmpeg שהתקנתי על המכונה הוירטואלית מכבה את עצמו וזהו.

עריכה: הוספתי buffer של 15 שניות שאמור לסדר את הנושא. נראה מה קורה עוד כמה שעות.

עריכה: לא ממש עוזר (לוג של ffmpeg):

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

&#91;http @ 0xa0fb440&#93; HTTP error 504 Gateway Timeout
&#91;hls,applehttp @ 0xa108980&#93; Failed to reload playlist 0
skipping 1 segments ahead, expired from playlists
http&#58;//c01cp.vds-is.castup.net/990310142-123.flv/smil&#58;990310142-123.smil/chunklist_b1850000.m3u8&#58; Server returned 5XX Server Error reply
אין לי ממש מושג על איזה timeout מדובר שכן ה-ffserver ממשיך לרוץ כרגיל ושניהם יושבים על אותה מכונה.

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

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

שליחה #19 

@MarioMan

הפתרון הפשוט זה להכניס את הפקודה ללולאה בסקריפ (Batch, Python וכד').

MarioMan פותח השרשור
עוסק בתחום
עוסק בתחום
תגובות: 3539
הצטרף: מאי 2005
שם מלא: יונתן פת-יה
מיקום: תל-אביב
נתן תודות: 19 פעמים
קיבל תודות: 195 פעמים

שליחה #20 

כן, כתבתי ב-bash לולאה אינסופית לעניין 8O
Vermoze - Innovative Technology Solutions Ltd.

שלח תגובה

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