-
בניתי ללקוח סקריפט שמקליט שידורי רדיו (שאלתי על זה כבר כמה פעמים פה, וכל הזמן יש בעיות חדשות...)
הסקריפט שמקליט הוא זה.
(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 דקות וכאלה.
אשמח לעזרה בכיוון או האם עשיתי איזה טעות בדרך ולכן זה לא רץ.
-
@צבי-ש לגבי שאלה 1, אני מנחש שהקוד הבעייתי לא מופיע בשאלה.
לגבי 2. האם יש שום שגיאה? אולי החיבור נותקה מאיזה שהו סיבה. (הרצתי את הסקריפט אצלי ואחרי כ-37 דקות החיבור נותק)אגב, הורדה שנמשכת שעה לא אומר שהאורך של האודיו שזה הוריד יהיה שעה. אולי זה לא איכפת לך.
-
@yossiz אמר בעזרה (מקווה שאחרונה) בשמירת שידורי רדיו חרדיים לקובץ שמע|python:
לגבי 2. האם יש שום שגיאה? אולי החיבור נותקה מאיזה שהו סיבה. (הרצתי את הסקריפט אצלי ואחרי כ-37 דקות החיבור נותק)
זהו, מישהו אמר לי באמת שהם מאפסים את החיבור כל כמה זמן,
אבל אני מנסה להתחבר כל הזמן במהלך השעה, אז גם אם יתאפס החיבור, עדיין אני אמור להתחבר שוב, לא? -