למאמר: Tvheadend חוזרת להתפתח ולהתקדם בקצב מרשים
Tvheadend לא עוצרת לרגע, סטרימי HLS וקידוד מחדש, עתה גם תחת OpenELEC.
שרשור תגובות: Tvheadend חוזרת להתפתח ולהתקדם בקצב מרשים
- dhead666 (פותח השרשור)
- גורו HTPC
- הודעות: 2975
- הצטרף: פברואר 2009
- נתן תודות: 123 פעמים
- קיבל תודות: 879 פעמים
@zovirax
נתקלתי ב־picons רק היום ואם אני מבין נכון:
* ש לך מצד אחד אוסף גדול של סמלי ערוצים עם רקע שקוף.
* לכל סמל יש גרסה כהה שמתאימה לרקע בהיר ולחלק קיימת גרסה לבנה שמתאימה לרקע כהה.
* יש אוסף של רקעים שונים.
* יש מאגר מידע שממפה כל ערוץ במדויק למקורות שמציעים אותו, אם זה טנספונדר DVB-S2 או שידור קרקעי.
כאשר "מקמפלים" את הסמלים מחוברים סמלי הערוצים לרקעים ונוצרות תמונות מתאימות כאשר שמות הקבצים תואמים לפרטי השידור.
ברגע שאתה מזין ב־Tvheadend (או בממיר) את נתיב תיקיית picons, לפי נתוני השידורי הסמלים צריכים להיטען אוטומטית.
נתקלתי ב־picons רק היום ואם אני מבין נכון:
* ש לך מצד אחד אוסף גדול של סמלי ערוצים עם רקע שקוף.
* לכל סמל יש גרסה כהה שמתאימה לרקע בהיר ולחלק קיימת גרסה לבנה שמתאימה לרקע כהה.
* יש אוסף של רקעים שונים.
* יש מאגר מידע שממפה כל ערוץ במדויק למקורות שמציעים אותו, אם זה טנספונדר DVB-S2 או שידור קרקעי.
כאשר "מקמפלים" את הסמלים מחוברים סמלי הערוצים לרקעים ונוצרות תמונות מתאימות כאשר שמות הקבצים תואמים לפרטי השידור.
ברגע שאתה מזין ב־Tvheadend (או בממיר) את נתיב תיקיית picons, לפי נתוני השידורי הסמלים צריכים להיטען אוטומטית.
- ufffnick
- גורו
- הודעות: 4623
- הצטרף: ספטמבר 2008
- מיקום: Fiat 500 שחוטה (כשר), ברחוב סומסום
- נתן תודות: 127 פעמים
- קיבל תודות: 466 פעמים
Re: שרשור תגובות: Tvheadend חוזרת להתפתח ולהתקדם בקצב מרשים
@dhead666
·
אני כיום עם mumuDVB בפזילה לעבור בגלל קשיים עם הלוח שידורים.
עד כמה שידוע לי ffmpeg הוחלפה בגרסאות ubuntu האחרונות עם avconv, שזה בעצם אותה חבילה (בערך) מורחבת, עם סינטקס דומה.
ffmpeg הכרחית או שהתמיכה כוללת גם את avconv?
·
אני כיום עם mumuDVB בפזילה לעבור בגלל קשיים עם הלוח שידורים.
עד כמה שידוע לי ffmpeg הוחלפה בגרסאות ubuntu האחרונות עם avconv, שזה בעצם אותה חבילה (בערך) מורחבת, עם סינטקס דומה.
ffmpeg הכרחית או שהתמיכה כוללת גם את avconv?
- dhead666 (פותח השרשור)
- גורו HTPC
- הודעות: 2975
- הצטרף: פברואר 2009
- נתן תודות: 123 פעמים
- קיבל תודות: 879 פעמים
@sky1sky10
אני ממליץ להתרחק ממוצרים כאלה שעדכון התוכנה שבהם תלוי ברצון הטוב של היצרן, במיוחד כאשר מדובר במוצרים סינים.
אם אתה לא רוצה להרים כזה שרת בעצמך (לרכוש מחשב, כרטיס DVB, להתקין מערכת הפעלה ...) אז נראה לי שעדיף ללכת על ממיר רשת ואז פשוט להתקין את Tvheadend ב־HTPC שמריץ את OpenELEC ולהוסיף את הערוצים (נדמה לי שבעצם מוסיפים Mux-ים שלמים).
אם הבנתי נכון אין בעיה גם לשלוח ל־Tvheadend ערוצים מוצפנים ולבצע את הפענוח ב־HTPC שמריץ את Tvheadend.
לדוגמה ראה את Elgato EyeTV Netstream המגיע עם לא פחות מ־4 טיונרי DVB-S2.
בכל מקרה מומלץ מראש לשאול בפורומים של Tvheadend או בערוץ IRC של Tvheadend (זה hts ב־freenode) על ממיר רשת ספציפי.
אני ממליץ להתרחק ממוצרים כאלה שעדכון התוכנה שבהם תלוי ברצון הטוב של היצרן, במיוחד כאשר מדובר במוצרים סינים.
אם אתה לא רוצה להרים כזה שרת בעצמך (לרכוש מחשב, כרטיס DVB, להתקין מערכת הפעלה ...) אז נראה לי שעדיף ללכת על ממיר רשת ואז פשוט להתקין את Tvheadend ב־HTPC שמריץ את OpenELEC ולהוסיף את הערוצים (נדמה לי שבעצם מוסיפים Mux-ים שלמים).
אם הבנתי נכון אין בעיה גם לשלוח ל־Tvheadend ערוצים מוצפנים ולבצע את הפענוח ב־HTPC שמריץ את Tvheadend.
לדוגמה ראה את Elgato EyeTV Netstream המגיע עם לא פחות מ־4 טיונרי DVB-S2.
בכל מקרה מומלץ מראש לשאול בפורומים של Tvheadend או בערוץ IRC של Tvheadend (זה hts ב־freenode) על ממיר רשת ספציפי.
- dhead666 (פותח השרשור)
- גורו HTPC
- הודעות: 2975
- הצטרף: פברואר 2009
- נתן תודות: 123 פעמים
- קיבל תודות: 879 פעמים
@ayp2k
tvheadend-git מ־AUR עובדת מצוין.
שים לב שלא צריך יותר את ffmpeg-compat עבור transcoding ואפשר לעבוד עם ffmpeg אך היא נדרשת גם לקמפול אז תתקין אותה מראש.
תביט בדף הוויקי של Arch על AUR כיצד לקמפל, בגדול תתקין את base-devel, תוריד את ה־tar מ־AUR, תחלץ, ותריץ makepkg (תוסיף דגל A- במקרה ומתקבלת שגיאה על ארכיטקטורה), יכול להיות שתצטרך להתקין depend אחד או יותר.
אפשר לעבוד כמובן עם yaourt או pacaur, אך שים לב כי אם יש לך מעט זיכרון (512MB RAM יותר ממספיק) אז תצטרך להגדיר נתיב אחר מ־tmp/ לתיקיה הזמנית של הקמפול.
נ.ב.
תלוי במעבד והאם אתה בוחר לקודד מחדש גם וידאו באבחנה גבוהה יתכן ש־transcoding לא יהיה ריאלי מבחינתך.
קיים טלאי כ־PR ב־Github המאפשר להוסיף "פילטרים" חיצוניים לקידוד מחדש כך שעל הנייר אם קיימת אפשרות להיעזר ביחידת VPU (לדוגמה עם Freescale i.MX6) או DSP (במקרה של שבבי TI) לקידוד מחדש, למשל דרך gstreamer, אז לא אמורה להיות בעיה לקודד מחדש בחומרה.
tvheadend-git מ־AUR עובדת מצוין.
שים לב שלא צריך יותר את ffmpeg-compat עבור transcoding ואפשר לעבוד עם ffmpeg אך היא נדרשת גם לקמפול אז תתקין אותה מראש.
תביט בדף הוויקי של Arch על AUR כיצד לקמפל, בגדול תתקין את base-devel, תוריד את ה־tar מ־AUR, תחלץ, ותריץ makepkg (תוסיף דגל A- במקרה ומתקבלת שגיאה על ארכיטקטורה), יכול להיות שתצטרך להתקין depend אחד או יותר.
אפשר לעבוד כמובן עם yaourt או pacaur, אך שים לב כי אם יש לך מעט זיכרון (512MB RAM יותר ממספיק) אז תצטרך להגדיר נתיב אחר מ־tmp/ לתיקיה הזמנית של הקמפול.
נ.ב.
תלוי במעבד והאם אתה בוחר לקודד מחדש גם וידאו באבחנה גבוהה יתכן ש־transcoding לא יהיה ריאלי מבחינתך.
קיים טלאי כ־PR ב־Github המאפשר להוסיף "פילטרים" חיצוניים לקידוד מחדש כך שעל הנייר אם קיימת אפשרות להיעזר ביחידת VPU (לדוגמה עם Freescale i.MX6) או DSP (במקרה של שבבי TI) לקידוד מחדש, למשל דרך gstreamer, אז לא אמורה להיות בעיה לקודד מחדש בחומרה.
תודה ...
זה בערך מה שעשיתי .... פעלתי לפי ההסברים בוויקי של XBMC:
אבל הקמפול עף לי בשלב ה-Compressing package...
מוציא הודעת שגיאה:
"==> ERROR: Failed to create package file."
לוג מע' מראה חוסר בזכרון swap:
מה יכול לעזור לי לצלוח הקומפילציה?
זה בערך מה שעשיתי .... פעלתי לפי ההסברים בוויקי של XBMC:
אבל הקמפול עף לי בשלב ה-Compressing package...
מוציא הודעת שגיאה:
"==> ERROR: Failed to create package file."
לוג מע' מראה חוסר בזכרון swap:
קוד: בחירת הכל
[29451.610252] systemd-logind invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
[29451.618449] systemd-logind cpuset=/ mems_allowed=0
[29451.623486] CPU: 0 PID: 125 Comm: systemd-logind Not tainted 3.17.3-2-ARCH #1
[29451.630671] [<c000f068>] (unwind_backtrace) from [<c000c520>] (show_stack+0x10/0x14)
[29451.638513] [<c000c520>] (show_stack) from [<c00b9004>] (dump_header.isra.14+0x74/0x1d8)
[29451.646982] [<c00b9004>] (dump_header.isra.14) from [<c00b9690>] (oom_kill_process+0x2c4/0x478)
[29451.655794] [<c00b9690>] (oom_kill_process) from [<c00b9c78>] (out_of_memory+0x22c/0x32c)
[29451.664462] [<c00b9c78>] (out_of_memory) from [<c00be3f4>] (__alloc_pages_nodemask+0x970/0x9a0)
[29451.681102] [<c00be3f4>] (__alloc_pages_nodemask) from [<c00b7fd4>] (filemap_fault+0x25c/0x4f0)
[29451.700670] [<c00b7fd4>] (filemap_fault) from [<c00dc38c>] (__do_fault+0x34/0x9c)
[29451.710782] [<c00dc38c>] (__do_fault) from [<c00df2bc>] (do_read_fault.isra.97+0x50/0x2d4)
[29451.719565] [<c00df2bc>] (do_read_fault.isra.97) from [<c00dfd08>] (handle_mm_fault+0x3e4/0xb44)
[29451.730302] [<c00dfd08>] (handle_mm_fault) from [<c054de08>] (do_page_fault+0x2f4/0x444)
[29451.738782] [<c054de08>] (do_page_fault) from [<c00084d4>] (do_PrefetchAbort+0x34/0x9c)
[29451.748064] [<c00084d4>] (do_PrefetchAbort) from [<c054c7f4>] (ret_from_exception+0x0/0x10)
[29451.756816] Exception stack(0xc6ef5fb0 to 0xc6ef5ff8)
[29451.763321] 5fa0: dd87ba01 00000006 03938700 00000000
[29451.772044] 5fc0: 02aea540 00000000 dad914c1 00000006 dca2d841 00000006 b6fb4cc8 be9f7b2c
[29451.782311] 5fe0: b6fb4cfc be9f7b08 b6f65728 b6f9b9d4 60000010 ffffffff
[29451.789229] Mem-info:
[29451.791492] Normal per-cpu:
[29451.794668] CPU 0: hi: 42, btch: 7 usd: 41
[29451.800318] active_anon:26705 inactive_anon:32 isolated_anon:0
[29451.800318] active_file:112 inactive_file:169 isolated_file:0
[29451.800318] unevictable:0 dirty:0 writeback:0 unstable:0
[29451.800318] free:363 slab_reclaimable:919 slab_unreclaimable:987
[29451.800318] mapped:114 shmem:91 pagetables:163 bounce:0
[29451.800318] free_cma:0
[29451.832172] Normal free:1368kB min:1388kB low:1732kB high:2080kB active_anon:106820kB inactive_anon:128kB active_file:448kB inactive_file:712kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:131072kB managed:121300kB mlocked:0kB dirty:0kB writeback:0kB mapped:504kB shmem:364kB slab_reclaimable:3676kB slab_unreclaimable:3948kB kernel_stack:528kB pagetables:652kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:7324 all_unreclaimable? yes
[29451.874106] lowmem_reserve[]: 0 0
[29451.877650] Normal: 0*4kB 1*8kB (R) 1*16kB (R) 2*32kB (R) 6*64kB (R) 1*128kB (R) 1*256kB (R) 1*512kB (R) 0*1024kB 0*2048kB 0*4096kB = 1368kB
[29451.894317] 362 total pagecache pages
[29451.904257] 0 pages in swap cache
[29451.908368] Swap cache stats: add 0, d@lete 0, find 0/0
[29451.913930] Free swap = 0kB
[29451.916832] Total swap = 0kB
[29451.932899] 32768 pages of RAM
[29451.935946] 591 free pages
[29451.939070] 2443 reserved pages
[29451.942878] 1586 slab pages
[29451.945809] 263313 pages shared
[29451.949259] 0 pages swap cached
[29451.952386] [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name
[29451.962469] [ 79] 0 79 2928 75 7 0 0 systemd-journal
[29451.971655] [ 94] 0 94 2626 91 5 0 -1000 systemd-udevd
[29451.981682] [ 120] 192 120 3153 51 5 0 0 systemd-timesyn
[29451.991894] [ 125] 0 125 743 43 3 0 0 systemd-logind
[29452.000871] [ 126] 81 126 1039 89 5 0 -900 dbus-daemon
[29452.009691] [ 127] 193 127 4856 46 4 0 0 systemd-network
[29452.019783] [ 130] 0 130 1600 94 5 0 -1000 sshd
[29452.028147] [ 131] 195 131 949 43 4 0 0 systemd-resolve
[29452.037295] [ 132] 0 132 455 20 4 0 0 agetty
[29452.045782] [ 133] 0 133 1384 113 5 0 0 login
[29452.061868] [ 134] 0 134 1885 768 6 0 0 haveged
[29452.076871] [ 165] 0 165 1073 88 4 0 0 systemd
[29452.085530] [ 166] 0 166 2025 270 6 0 0 (sd-pam)
[29452.094081] [ 168] 0 168 798 71 4 0 0 bash
[29452.102653] [ 212] 0 212 2683 170 7 0 0 sshd
[29452.116747] [ 214] 0 214 810 80 4 0 0 bash
[29452.130753] [ 484] 0 484 4900 310 10 0 0 nmbd
[29452.139134] [ 487] 84 487 778 85 4 0 0 avahi-daemon
[29452.148110] [ 488] 84 488 778 39 4 0 0 avahi-daemon
[29452.158283] [ 5463] 0 5463 949 230 4 0 0 makepkg
[29452.167743] [10003] 0 10003 1292 128 5 0 0 bsdtar
[29452.176136] [10004] 0 10004 949 231 4 0 0 makepkg
[29452.185410] [10005] 0 10005 24325 23565 50 0 0 xz
[29452.193456] Out of memory: Kill process 10005 (xz) score 755 or sacrifice child
[29452.202269] Killed process 10005 (xz) total-vm:97300kB, anon-rss:94260kB, file-rss:0kB
מה יכול לעזור לי לצלוח הקומפילציה?
- dhead666 (פותח השרשור)
- גורו HTPC
- הודעות: 2975
- הצטרף: פברואר 2009
- נתן תודות: 123 פעמים
- קיבל תודות: 879 פעמים
שכחתי לגמרי שכתבתי את המדריך הזה, שים לב כי לאחר ההתקנה אתה לא צריך יותר להגדיר את TVHEADEND_ARGS.
אני מניח שלא מוגדר אצלך swap, אתה יכול להגדיר באופן זמני רק עבור הקמפול, רצוי לא להשתמש בזיכרון מסוג פלאש לכך.
באיזה ארכיטקטורה מדובר ? Armv5, Armv6h או Armv7h ? אין לי בעיה לקמפל לך (למרות שעדיף שתהיה מסוגל לעשות זאת בעצמך).
נ.ב. כמה RAM יש במכשיר ? אתה צריך להיות מאוד גבולי כדי שלא תארז החבילה, אם מעל 128MB אז אין סיבה שלא יעבור הקמפול חלק אלא אם רצים אצלך שירותים זוללי זיכרון.
אני מניח שלא מוגדר אצלך swap, אתה יכול להגדיר באופן זמני רק עבור הקמפול, רצוי לא להשתמש בזיכרון מסוג פלאש לכך.
באיזה ארכיטקטורה מדובר ? Armv5, Armv6h או Armv7h ? אין לי בעיה לקמפל לך (למרות שעדיף שתהיה מסוגל לעשות זאת בעצמך).
נ.ב. כמה RAM יש במכשיר ? אתה צריך להיות מאוד גבולי כדי שלא תארז החבילה, אם מעל 128MB אז אין סיבה שלא יעבור הקמפול חלק אלא אם רצים אצלך שירותים זוללי זיכרון.
תודה.על העזרה.. קצת שקט ולילה עם פחות שינה...והכל מקומפל ועובד...
אכן יש רק 128m זכרון arm5 כמדומני
אבל אתה מכיר את המכשיר טוב ממני ... יש לך אחד משלך
(זה ה-pogoplug mobile)
ניסיתי לקמפל שוב בלי הסרוויס של הsmb שצורך לא מעט משאבים ולא עזר.. הוספת קובץ swap פתרה את הבעיה.
עכשיו נשאר לי להוסיף את ה-fw עבור הdvb tuner...
והמכונה תהיה פעילה ומושלמת
נ.ב: עד עכשיו עבדתי רק עם Ubuntu וה archlibux חדש ומאתגר עבורי.
אכן יש רק 128m זכרון arm5 כמדומני
אבל אתה מכיר את המכשיר טוב ממני ... יש לך אחד משלך
(זה ה-pogoplug mobile)
ניסיתי לקמפל שוב בלי הסרוויס של הsmb שצורך לא מעט משאבים ולא עזר.. הוספת קובץ swap פתרה את הבעיה.
עכשיו נשאר לי להוסיף את ה-fw עבור הdvb tuner...
והמכונה תהיה פעילה ומושלמת
נ.ב: עד עכשיו עבדתי רק עם Ubuntu וה archlibux חדש ומאתגר עבורי.
- dhead666 (פותח השרשור)
- גורו HTPC
- הודעות: 2975
- הצטרף: פברואר 2009
- נתן תודות: 123 פעמים
- קיבל תודות: 879 פעמים
@ayp2k
יש לי מעט יותר מאחד
קצת מחוץ לגבולות השרשור אך שים לב שאם הדונגל דורש firmware אז תצטרך להגדיל את הפרמטר לקרנל coherent_pool, יש פוסט שלי על זאת בפורומים של ALARM (ברגע שיעודכן סופסוף ה־uboot זה יהיה יותר פשוט ללא כתיבה ל־nand).
שים לב גם שאם מדובר בדונגל DVB-T הרי שקרנל 3.17 כבר מכיל כנראה את כל קבצי ה־fw הקיימים ואין צורך להעתיק דבר.
יש לי מעט יותר מאחד
קצת מחוץ לגבולות השרשור אך שים לב שאם הדונגל דורש firmware אז תצטרך להגדיל את הפרמטר לקרנל coherent_pool, יש פוסט שלי על זאת בפורומים של ALARM (ברגע שיעודכן סופסוף ה־uboot זה יהיה יותר פשוט ללא כתיבה ל־nand).
שים לב גם שאם מדובר בדונגל DVB-T הרי שקרנל 3.17 כבר מכיל כנראה את כל קבצי ה־fw הקיימים ואין צורך להעתיק דבר.
היי אנשים
אני מנסה להגדיר לפי המדריך וקצת נתקל בבעיות...
מישהו יכול לתת יד ולהסביר איך מגדירים עידן +
כשאני מדביק את הכתובת הזו
pipe:///usr/bin/ffmpeg -loglevel fatal -i http://c01cp.vds-is.castup.net/99031014 ... 50000.m3u8 -vcodec copy -acodec copy -metadata service_provider=IBA
ב URL
ב Scan Results מופיע לי FAIL
אני מנסה להגדיר לפי המדריך וקצת נתקל בבעיות...
מישהו יכול לתת יד ולהסביר איך מגדירים עידן +
כשאני מדביק את הכתובת הזו
pipe:///usr/bin/ffmpeg -loglevel fatal -i http://c01cp.vds-is.castup.net/99031014 ... 50000.m3u8 -vcodec copy -acodec copy -metadata service_provider=IBA
ב URL
ב Scan Results מופיע לי FAIL
Kobi D
- dhead666 (פותח השרשור)
- גורו HTPC
- הודעות: 2975
- הצטרף: פברואר 2009
- נתן תודות: 123 פעמים
- קיבל תודות: 879 פעמים
@kobid84
עבור הערוץ הראשון עם OpenELEC תשתמש בשורה הבאה
אל תתרגש אם בפעם הראשונה הסריקה נכשלת, תפתח שוב את הגדרת ה־mux ותשנה את ערך הסריקה ל־pend או active לשם הרצת סריקה חוזרת
אם אתה מריץ על מערכת הפעלה שונה אז אמליץ להוסיף את הערכים הבאים לפני pipe:1 לאחר שתוודא שהחבילה x264 או (libx264) מותקנת
עבור הערוץ הראשון עם OpenELEC תשתמש בשורה הבאה
קוד: בחירת הכל
pipe:///usr/bin/ffmpeg -loglevel fatal -i http://c01cp.vds-is.castup.net/990310142-123.flv/smil:990310142-123.smil/chunklist_b1850000.m3u8 -vcodec copy -acodec copy -metadata service_provider=IBA -metadata service_name=Ch1_HD -f mpegts pipe:1
אם אתה מריץ על מערכת הפעלה שונה אז אמליץ להוסיף את הערכים הבאים לפני pipe:1 לאחר שתוודא שהחבילה x264 או (libx264) מותקנת
קוד: בחירת הכל
-tune zerolatency