בניתי ללקוח סקריפט שמקליט שידורי רדיו (שאלתי על זה כבר כמה פעמים פה, וכל הזמן יש בעיות חדשות...)
הסקריפט שמקליט הוא זה.
(python3 code)
now = datetime.now()
stream_url = 'https://media2.93fm.co.il/livemusic'
start_time = time.time()
filename = "kcm.wav"
seconds = 3600
r = requests.get(stream_url, stream=True)
with open(filename, 'wb') as f:
try:
for block in r.iter_content(1024):
f.write(block)
if time.time() > start_time + seconds :
break
except KeyboardInterrupt:
pass
מוגדר לו כאן בעצם שירוץ במשך שעה ויקליט,
ככה יש לי 4 קבצים כאלו שמקליטים שידורים.
ואני מפעיל אותם שירוצו ויתחילו להקליט על ידי הסקריפט הזה:
מתחיל בלולאה שרצה לעולמי עד. ובודקת האם הדקות שוות ל 00 בדיוק.
אם כן אז מפעיל את הסקריפט של ההקלטה על ידי הפקודה הבאה:
kcm = subprocess.Popen(['python3', 'kcm.py'])
שזה מפעיל את הקובץ למעלה שמקליט בפועל וצריך לרוץ שעה (כי הגדרתי שירוץ ל 3600 שניות)
בסוף אני שם לו
time.sleep(60)
בשביל שלא יתחיל מייד להקליט עוד פעם (כי הרי הדקות עדיין 00)
ובאמת ככה הוא רץ ורץ.
את כל זה קימפלתי לדוקר והוא רץ בפנים.
הבעיות הם:
- הקובץ עולה לדרייב רק פעם בשעתייים כלומר שעה עולה ושעה לא עולה, מדוייק, שעה כן שעה לא.
- עולה לי קטעים הרבה יותר קטנים מאשר שעה אלא סתם 14 דקות וכאלה.
אשמח לעזרה בכיוון או האם עשיתי איזה טעות בדרך ולכן זה לא רץ.