איך אנחנו בודקים תחנות
בכל לילה radioko בונה מחדש את רשימת התחנות שלו מהמקורות שלו ומהמרשם שהוא מנהל בעצמו, בודק כל זרם שידור וקורא את האותות האנונימיים שהנגן שולח. העמוד הזה מסביר אילו תחנות נכללות ברשימה, מה אנחנו לא כוללים, מאיפה מגיעים הפרטים שלהן, איך הן מסודרות ומתי תחנה מוסתרת.
אילו תחנות נכללות ברשימה
- התחנה מגיעה מאחד משני מקורות. הראשון הוא Radio Browser, מסד נתונים פתוח של זרמי רדיו: התחנה מופיעה שם באחת המדינות שאנחנו מכסים, וזרם השידור שלה עבר את הבדיקה האחרונה של Radio Browser. השני הוא המרשם של radioko עצמו: תחנות שאנחנו מוצאים ברשימת הרישיונות של רגולטור ושאת זרם השידור שלהן אנחנו מוצאים באתר של התחנה עצמה, אף פעם לא במדריך אחר, וכן תחנות שנשלחות אלינו דרך טופס הוספת תחנה; זרם השידור עובר את הבדיקה שלנו, ואנחנו מאשרים כל תחנה ידנית, עד 50 בשבוע. הראשונות הגיעו מרשומות הרישיונות של ה־FCC עבור פוארטו ריקו וממרשם השדרנים של רשות התקשורת של קניה.
- זרם השידור מתנגן בדפדפן: בפורמט שמע שדפדפנים תומכים בו (MP3, AAC, Ogg/Opus או HLS) דרך HTTPS. זרם שידור ב־HTTP רגיל, שדפדפנים חוסמים בעמודים מאובטחים, מושמע במקום זאת דרך שירות הממסר שלנו. השירות מעביר גם זרם HTTPS בפורט לא שגרתי כשהרשת של המאזין חוסמת את הפורט הזה (הנגן מנסה קודם את התחנה ישירות), ובדפדפנים של Apple גם את זרמי ה־HTTPS המעטים שעונים בפורמט ישן ש־Safari דוחה. הוא מעביר רק שמע, ורק עבור כתובות זרמי השידור שאנחנו מציגים.
- רשומות כפולות ממוזגות לרשומה אחת: אותו שם, אותו זרם שידור, אותה תחנה בשם אחר באותו אתר, או שתי כתובות של זרמי שידור שמשמיעות את אותם שירים באותם רגעים במשך יממה שלמה. הרשומה שנשארת נקבעת קודם לפי השאלה אם כבר יש לה עמוד ב־radioko, אחר כך לפי השאלה אם היא מתנגנת ב־HTTPS בלי שירות הממסר שלנו, ולבסוף לפי מספר הקליקים שלה ב־Radio Browser ועוד השורש הריבועי של מספר הקולות שלה (קצב סיביות גבוה יותר מוסיף מעט).
כל תחנה שומרת על הכתובת שלה ב־radioko לתמיד. כשתחנה עוזבת את הרשימה שלנו, העמוד שלה מציין במשך 30 יום שהיא אינה זמינה ומציע תחנות דומות; לאחר מכן הכתובת מחזירה "410 Gone". העמוד של תחנה מוסתרת (ראו בהמשך) מציין שהיא אינה זמינה מהיום שבו הוסתרה, וכשהיא מוסתרת כבר 30 יום, הכתובת שלה מחזירה "410 Gone". הכתובת של תחנה שהוסרה לבקשת בעליה מחזירה "410 Gone" מיד. כתובת לעולם אינה ניתנת לתחנה אחרת.
מה אנחנו לא כוללים
- זרמי שידור שאינם מתנגנים בדפדפן דרך HTTPS וגם לא יכולים להתנגן דרך שירות הממסר שלנו, ערוצי טלוויזיה שמשדרים וידאו, וקובצי שמע או הקלטות שאינם תחנה בשידור חי.
- כלי תקשורת שמופיעים ברשימות הסנקציות של האיחוד האירופי או של ארצות הברית, תחת כל שם ובכל מדינה שבה הם רשומים, וכן גופי שידור בחלקים של אוקראינה שהסנקציות של האיחוד האירופי חלות עליהם (קרים, סבסטופול והשטחים במחוזות דונצק, לוהנסק, חרסון וזפוריז'יה שאינם בשליטת ממשלת אוקראינה). הסיבה היא משפטית, לא פוליטית.
- תחנות מטורקיה ותחנות שמשדרות בטורקית, מסיבה של רישוי ולא מסיבה פוליטית: למה טורקיה לא נכללת.
- עוד כמה תחנות, בהחלטה שלנו, מסיבה משפטית (למשל בעלים שמופיעים ברשימת סנקציות) או לפי כללי הפרסום שאנחנו פועלים לפיהם (תוכן למבוגרים, דיסאינפורמציה, תוכן שנאה).
- תחנות שבעליהן ביקשו להסירן.
מאיפה מגיעים פרטי הפרופיל
תדרי השידור מגיעים קודם כול מרשימות המשדרים הרשמיות של הרגולטורים, ואנחנו משייכים אותם לתחנות בעצמנו: Ofcom (בריטניה), KommAustria ו־RTR (אוסטריה), UKE (פולין), Traficom (פינלנד), BAKOM (שווייץ) ו־ISED (קנדה), ועבור פוארטו ריקו רשומות הרישיונות של ה־FCC, שמספקות גם את אותות הקריאה. כשרשימה שונה מ־Wikidata או משם התחנה, הרשימה קובעת. תדרים ואותות קריאה אחרים, וכן בעלים, שנות הקמה, אתרים וחשבונות ברשתות חברתיות, מגיעים מ־Wikidata. כשאין תדר לא ברשימות של הרגולטורים ולא ב־Wikidata, העמוד מציג את התדר שמופיע באתר של התחנה עצמה (עבור תחנה מהמרשם שלנו) או, אם אין כזה, את התדר שבשם התחנה, כמו "Radio X 98.5 FM". רשומה ב־Wikidata משויכת לתחנה רק כשההתאמה ודאית: אותו אתר ושם תואם, אותו אות קריאה שאושר באמצעות התדר, או אותו שם שמאושר באמצעות העיר, האתר, התדר או אות הקריאה; שם לבדו אף פעם אינו מספיק. כששתי רשומות עשויות להתאים, אנחנו לא משייכים אף אחת מהן. זרם שידור נושאי או אזורי של תחנה גדולה יותר (למשל ערוץ "Classic Rock") מקבל רק את הפרטים ששייכים למותג כולו, כמו הבעלים והאתר, ולעולם לא את התדר. בתחנות מקניה שבמרשם שלנו, העמוד מציג גם את הרישיון מתוך המרשם של הרגולטור: סוג הרישיון, בעל הרישיון ותאריך ההנפקה.
במפת העולם תחנה ממוקמת, מהמקור האמין ביותר והלאה: במשדר הראשי שלה לפי הרגולטור, בקואורדינטות שלה ב־Wikidata, או בנקודה שרשומה עבורה במקור שלה, שבה אנחנו משתמשים רק כשהיא נמצאת במדינה של התחנה ומתאימה למקום שרשום לה; אחרת בעיר או באזור שלה. הנקודות מעוגלות לכ־1 ק"מ. תחנות שמשדרות בכל רחבי המדינה או רק באינטרנט נספרות לפי מדינה ואינן מסומנות כנקודה.
תחנות שרשומות בכמה מדינות
חלק מזרמי השידור רשומים בכמה מדינות. כל עותק שומר על העמוד שלו, והעמודים מקושרים זה לזה כגרסאות שפה או גרסאות אזוריות של תחנה אחת; העמוד הראשי הוא זה שבמדינה של התחנה עצמה, כשאנחנו יכולים להוכיח מהי. כשעותק אינו מהמדינה שתחתיה הוא רשום, או כשזרם שידור רשום במדינות רבות ואיש אינו יכול להוכיח מאיפה הוא, העמוד שלו לעולם אינו מציג אותו כשייך למדינה הזו: הוא מופיע ברשימה האלפביתית של המדינה כשהעמוד שלו פתוח למנועי חיפוש, אבל לעולם לא ברשימות הסגנונות או האזורים שלה. עותק באותה שפה כמו העמוד הראשי נשאר מחוץ לתוצאות החיפוש, אלא אם הוא מוסיף עובדה מקומית, כמו תדר מקומי או רשומה של רגולטור. תחנה שרשומה תחת מדינה שהיא לא באה ממנה עוברת למדינה שלה כשאנחנו יכולים להוכיח מאיפה היא; אם איננו יכולים, והיא אינה רשומה תחת אף מדינה אחרת, אנחנו לא כוללים אותה.
אילו עמודים מנועי חיפוש רואים
לכל תחנה ברשימה יש עמוד עם נגן, אבל רק חלק מהעמודים פתוחים למנועי חיפוש; האחרים מתנגנים באותה מידה, אבל נושאים סימון "noindex". עמוד של תחנה פתוח למנועי חיפוש כששני תנאים מתקיימים: הראשון, זרם השידור שלה מתנגן בבדיקות שלנו; השני, התחנה מזוהה (תדר שידור, אות קריאה או רישום מרישיון, או פרטים מהרשומה שלה ב־Wikidata שמוצגים בעמוד) או שברור שמאזינים מחפשים אותה. בכל מדינה פתוחים למנועי חיפוש לכל היותר חמישה ערוצים של אותה חברה שמשדרים רק באינטרנט. עמוד שנשאר מחוץ לתוצאות החיפוש מאחת הסיבות האלה גם אינו מופיע ברשימות של המדינה או ברשימה האלפביתית שלה; אבל החיפוש ב־radioko כן מוצא אותו. לפי כללי הפרסום שאנחנו פועלים לפיהם, גם עמוד של תחנה ששמה מרמז על תוכן למבוגרים נשאר מחוץ לתוצאות החיפוש, ולא יוצגו בו פרסומות; התחנה עצמה ממשיכה להתנגן.
שתי קבוצות של מדינות ממתינות לשלב מאוחר יותר: מדינות שהמאזינים בהן מחפשים בשפה ש־radioko עדיין אינו מציע (העמודים שלהן באנגלית עד שנתרגם אותם), והמהדורות בסינית (סין, טייוואן, הונג קונג ומקאו). העמודים שלהן מתנגנים, אבל נשארים מחוץ לתוצאות החיפוש. מדינה חדשה נכנסת לתוצאות החיפוש אחרי שלושה לילות ברציפות שבהם מתנגנת תחנה משלה. במדינה שיש בה רק תחנות ספורות, הרשימה האלפביתית נשארת מחוץ לתוצאות החיפוש כשהיא מציגה את אותן תחנות כמו עמוד הבית. עמוד הסטטיסטיקה של מדינה פתוח למנועי חיפוש רק כשיותר מ־50 מעמודי התחנות שלה פתוחים להם; עד אז הנתונים שלה מופיעים בעמוד הבית שלה ובעמוד הסטטיסטיקה העולמי. כשאף אחת מהתחנות של מדינה לא מתנגנת בלילה מסוים, העמודים שלה נשארים באוויר 30 יום, מחוץ לתוצאות החיפוש ועם תחנות ממדינות סמוכות; לאחר מכן הם נסגרים עד שתחנה מתנגנת שוב.
מתי תחנה מוסתרת
בכל לילה אנחנו בודקים בעצמנו כל זרם שידור בבקשה קצרה אחת שקוראת את הבייטים הראשונים של השמע. התאריך שמופיע תחת "בדיקה אחרונה" בעמוד של תחנה הוא היום של הבדיקה המוצלחת האחרונה, והוא תמיד של הבדיקה שלנו. אחרי שבדקנו זרם שידור בשבעה לילות או יותר, העמוד שלו מציין גם בכמה מהבדיקות הליליות האחרונות (עד 30) הוא נוגן בהצלחה. בדיקה שנכשלה חוזרת ממיקום שני לפני שהיא נספרת, כי יש תחנות שדוחות מאזינים ממדינות מסוימות. תגובה שנדחתה או שאי אפשר לקרוא אותה לעולם אינה נחשבת לכשל, וזרם שידור שאפשר לשמוע רק בתוך המדינה שלו אינו נשפט לפי הבדיקה שלנו: העמוד שלו מציין זאת. תחנה שזרם השידור שלה נכשל שלושה לילות ברציפות מוסתרת מכל הרשימות עד שבדיקה מאוחרת יותר מצליחה; העמוד שלה נשאר ומציין שהתחנה אינה זמינה כרגע.
כשההשמעה של תחנה מתחילה או לא מצליחה להתחיל, הנגן גם שולח אות שמציין באיזו תחנה מדובר והאם היא הושמעה; השרת שלנו שומר אותו עם הזמן והמדינה של המבקר, ללא כתובת IP או עוגייה. כשלים רבים מקדימים את הבדיקה של תחנה, ותחנה שמאזינים משמיעים בלי בעיות נשארת ברשימות. אותות לבדם לעולם אינם מסתירים תחנה, כי כל אחד יכול לשלוח אות.
הקישור "השידור לא עובד?" בעמוד של תחנה שולח אות אנונימי מאותו סוג. בפעם הראשונה ביום שתחנה מתנגנת בדפדפן מסוים, הנגן שולח אות נוסף לספירת ההשמעות: כשלתחנה יש לפחות עשר השמעות בשבעת הימים האחרונים, העמוד שלה מציג את המספר. הספירה היא של דפדפנים ליום, לא של אנשים, והיא אינה מדידת האזנה.
איך התחנות מסודרות
ברשימות, וגם בתחנות הנבחרות בעמוד הבית של כל מדינה, מוצגות קודם התחנות שהתנגנו בכל הבדיקות הליליות האחרונות שלנו, ומתוכן המוכרות ביותר: תחנות עם רישיון של רגולטור, ערך באנציקלופדיה, רשומה ב־Wikidata או אות קריאה. כשתחנות שוות בזה, קודם מופיעה זו שהושמעה יותר פעמים: לפי ההשמעות שנספרו בנגן שלנו או לפי מספר הפעמים שהיא הופעלה דרך המדריך של Radio Browser (מספר הקליקים שלה), הגבוה מבין השניים. זו אינה מדידת האזנה. התחנות הנבחרות בעמוד הבית של מדינה הן רק תחנות של המדינה עצמה. אחרי ההשקה, כשמאזינים במדינה ישמיעו מספיק תחנות ב־radioko עצמו (כ־200 השמעות בשבוע), אנחנו מתכננים לסדר את התחנות של המדינה הזו לפי ההשמעות האלה, כשהתחנות שמאזינים להן הכי הרבה ב־radioko ראשונות. רשימות התחנות הנבחרות מציגות רק תחנות שזרם השידור שלהן התנגן בבדיקה האחרונה, מלבד תחנות חדשות שעוד לא בדקנו.
איך נכתבים התיאורים
הסלוגן והתיאור הקצר של כל תחנה נכתבים בעזרת בינה מלאכותית על סמך הפרטים שבעמוד התחנה (שם, מקום, סגנונות, שפה, תדר) ועובדות ציבוריות ידועות. אנחנו בודקים מדגם מהם מול נתוני התחנה ומתקנים כל טעות שאנחנו מוצאים. אם תיאור שגוי, ספרו לנו.
תיקונים והסרה
כדי לתקן פרטים של תחנה, צרו איתנו קשר, רצוי מהעמוד של התחנה: את מה ש־radioko מציג אנחנו יכולים לתקן בעצמנו. פרטים שמגיעים מ־Wikidata או מ־Radio Browser אפשר לתקן גם במקור. כל אחד יכול לערוך את Wikidata. רשומה ב־Radio Browser, לעומת זאת, אי אפשר פשוט לערוך: התחנה עצמה משנה אותה משרת השידור שלה, בעזרת שתי כותרות HTTP שנשלחות יחד עם הזרם. כשהזרם שולח icy-index-metadata: 1, Radio Browser לוקח את השם, הסוגות ואתר האינטרנט מכותרות ה־icy- של הזרם עצמו; הכותרת icy-main-stream-url מציינת את הכתובת הנוכחית של הזרם, למשל כתובת ה־HTTPS שלו. לאחר מכן Radio Browser מסמן את הרשומה כמאומתת. ההוראות (באנגלית) נמצאות בכתובת radio-browser.info/owners. בעלי תחנות יכולים לבקש להסיר את התחנה שלהם; אנחנו מטפלים בבקשות כאלה בתוך 48 שעות.