‏הצגת רשומות עם תוויות ffmpeg. הצג את כל הרשומות
‏הצגת רשומות עם תוויות ffmpeg. הצג את כל הרשומות

יום שלישי, ינואר 16, 2024

צפייה בשידורי IPTV בתוכנה חופשית ללא דפדפן ולימודי שפה

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

תקופה  ארוכה חיפשתי פתרון פשוט ללמוד ללא יותר מדי פוליטיקה, בהרבה מהקורסים שראיתי היו תכנים יותר מדי פוליטיים ובנישה מאוד מסויימת, בשיעור ניסיון אחד ישר מציגים שחס ושלום שמכירים אדם במזרח ירושליים שהוא יהודי,  חיפשתי גם מקורות חופשיים (לא חינימיים , חופשיים ! ), הציעו לי את  מדרסה אבל כשנכנסתי לצפות בתכנים הללו, לראות מה זה, ראיתי שהיא ממש לא חופשית, אבל יש מספר תכנים חינמיים שזה היה נחמד, חיש מהר עברה המחשבה אולי יהיה אפשר להכין דפים ל Parley המדהימה ע"י אחד מהמפעילים שם או שאני בעצמי אכין דפים מהמילון. מי שלא מכיר את Parley , זו תוכנה שמאפשרת ליצור דפי לימוד לשפות ולתכנים מסויימים. אבל מכיוון  שלא מצאתי רישיון שיאפשר את הפצת או שימוש מחדש של התוכן של מדרסה אז ויתרתי על המקור הזה. גם החומר שמוצג במשרד החינוך אינו מכיל רישיון שימוש חופשי, מה שמונע הפצה ושימוש מחדש בחומר הזה. אבל לפחות הורדה חד פעמית ושימוש עצמי אמור להיות מותר. היה יכול להיות די מעניין עם מורה מסויים היה מכניס תוכן ל parley ללמוד את השפה הערבית מול השפה העברית.

בתכנים באתר המקור של Parley ישנן הרבה שפות, ולקח לי די הרבה זמן למצוא משהוא שקשור לשפה הערבית, צריך להוריד את הקבצים מאתר קוד המקור שלה ואז ניתן לפתוח את המידע ישירות ולהתאמן על המילים הללו.

חשבתי שיהיה לי קל להשתמש ב Parley בלבד אבל להפתעתי המוחלטת לא הצלחתי למצוא שום תוכן בערבית בתוך התוכנה דרך האופציה Download new collections, יש שם כל כך הרבה תוכן בכל כך הרבה שפות אבל כשחיפשתי את השפה הערבית בשם  האנגלי שלה (כלומר חיפוש המילה Arabic) קיבלתי "Unknown Open Collaboration Service API error. (0)" אבל חיפוש العربية לא ריסק, זה היה די מצחיק , ניסתי לגלול עוד ועוד אבל לצערי לא הצלחתי למצוא תוכן ללא ריסוק התוכנה, ואז גיליתי שחיפוש של כל שפה אחרת נכשלת :-( , נכון לעכשיו אני מבין שבשביל ערבית ב Parley צריך לגשת לאתר קוד המקור של התוכנה ולטעון תכנים משם.

מפה לשם, התחילה המלחמה תוך כדי הניסיונות שלי ללמוד את השפה, ממה שאני יודע, לשקוע בחומר, זה אחד הפתרונות הקלים ביותר ללמוד שפה, עכשיו מכיוון שאני לא רואה את עצמי הולך ומסתובב בשוק בשביל לשמוע את השפה ולתרגל, הדבר הקרוב ביותר לזה יהיה הקשבה לחדשות ולשידורים, וכן אני יודע שיידברו שם או ב MSA או במקרה הטוב בניב המצרי, אין לי הרבה ברירות,  אז עשיתי מעשה וניסתי קצת לצפות ב אלג'זירה , אבל לא הצלחתי להקשיב ללא ההרגשה ברקע שהתוכן באנגלית מזכיר לי את שידורי הרע"ם מקהיר אז התוכן בערבית כנראה גרוע אף יותר. אלג'זירה באנגלית לא הייתה כה רחוקה ממה שראיתי מפלסטין היום (או שזה היה אל-קודס ? משהוא אחר ? לא זוכר ואינני בטוח ) כאשר היה עוד ניתן לצפות בשידור שלהם.  יצא לי גם לצפות במספר ערוצים אחרים מהאזור,  והיה מעניין לראות שמראים אנשים בלבוש אזרחי יורים טילים ומנשק קל על ישראלים משודרים באופן פתוח הדברים הללו לא מהודהדים בתקשורת הישראלית, זה נצפה לפחות באחד מהערוצים הבאים فلسطين الفضائية ,فلسطين اليوم,الأقصى ,المنار,"القدس.

על מנת לאתר מקורות וידאו מצאתי מקור המכיל הרבה ערוצי IPTV שלפי התיאור שלו מכיל מידע שמותר לגשת אליו,  ראיתי שללא שום בעייה אני יכול להשתמש בvlc. לפי תיאור המקור מדובר במקורות חופשיים לשימוש לכן קישרתי לכן. ישנם גם מקורות שכרגע אינני יודע מה הרישיון שלהם (למשל שידורי אל-קודס ) ויש מקורות שלא מצאתי רישיון או מקור כמו למשל ערוץ 33 בערבית. למה שידורי וידאו ולא קול ? כי קצת קשה לקשר רק קול למשמעות אם אין מקור ייחוס, כשהיינו קטנים למדנו לדבר מההורים שלנו ולא מספרים או דקדוק.

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

כאחד שזוכר את שידורי הסרט הערבי בערוץ 1 , חיפשתי משהוא דומה ו ערוץ 1 mbc לא מרגיש כמו מה שהיה אז, כנראה, בגלל שזה בגלל שזה בצבע תקין וללא הפרעות ? לא יודע.

VLC מתמודד ללא יותר מדי בעיות עם כלל הערוצים ,אבל לפעמים אני רואה אותו מתריע על
glconv_vaapi_drm gl error: vaInitialize: unknown libva error
gl gl: Initialized libplacebo v4.208.0 (API v208)
main input error: ES_OUT_SET_(GROUP_)PCR  is called too late (pts_delay increased to 1000 ms)
 
ההתרעות הראשונות כנראה קשורות לזה שvlc לא בנויי מול המודלים של נוידיה בשביל לתמוך בהאצת חומרה. לצערי vlc לא מציג את הסמלילים שמופיעים ברשימת הערוצים שמקבלים, ורק את כותרות הערוצים מוצגות.

כאשר צריכים לבצע הקלטה ב vlc, צריך ללכת קודם כל ל tools->preferences->input codec ולמלא תחת Record Directory את התיקייה ,לשמור ולאתחל את vlc בשביל לבצע הקלטות, לאחר מכאן לחיצה אחת מתחילה הקלטה והבאה משחררת את ההקלטה.

ב mpv לא ראייתי בעיות כמעט לחלוטין,  עשה את העבודה בצורה מצויינת.

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

את ההקלטה ניתן לעשות
fmpeg -i https://someurl/list.m3u8 -c:v copy -c:a copy -f matroska "$(date).mkv"
בתאוריה ניתן להשתמש בpipe בשביל להעביר את התמונה ל ffplay, אבל בכל הקומבינציות שניסיתי נכשלתי בשביל גם להציג את התמונה וגם להקליט, כמובן שיש את הצורך לפעמים להתחיל הקלטה באמצע.

יום שלישי, נובמבר 28, 2023

קידוד מחדש של הקלטות באמצעות ffmpeg על מנת לשחרר מקום פנויי.

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

מצלמה אחרת בה היה איכות טיפה יוותר טובה הפורמט היה :
  Video: mjpeg (Baseline) (jpeg / 0x6765706A), yuvj422p(pc, bt470bg/unknown/unknown), 1280x720, 27927 kb/s, 30 fps, 30 tbr, 3k tbn (default)
  
שבוא נגיד , תופס די הרבה מקום, קידוד מחדש כולל  קול ע"י ffmpeg
fmpeg -i ./file.MOV -c:v libx264 -c:a libopus  file_x264.mp4  
ירד מקובץ של 1380 מ"ב לקובץ של 192 מ"ב, והיו לי הרבה מאוד קבצים.

עבור הקלטות שהגיעו ממצלמות kodak שהקליטו עם אחר כאלה ביצעתי קידוד מחדש ע"י שימוש ב ffmpeg וקידדתי לכיוון של constant bit rate בערך של 22 (לצערי לא שמרתי את פורמט המקור):
  for i in $(ls *.AVI); do [[ ! -f "$i.mkv" ]] \
  && ffmpeg  -i $i -c:v libx264 -preset slow -crf 22 -c:a copy  $i.mkv \
  && rm $i; done
  
מכיוון שלא היה שם שום טקסט מודפס , לא ראיתי שום ארטיפקטים בתצוגה , ולא ראיתי שום בעייה ויזואלית. בצורה כזאת חסכתי כמעט 54 ג"ב נוספים (אני חושב מתוך תוכן של כ220 ג"ב).

עבור הקלטות מסך (הרצאה והצגה) , ביצעתי קידוד ע"י הורדת ה framerate  רק ל 30 , ללא שינוי קידוד הוידאו כי כבר היה h264 :
הקלט היה :
  Input #0, matroska,webm, from '2023-10-25 14-06-46.mkv':
  Metadata:
    ENCODER         : Lavf58.29.100
  Duration: 01:51:16.42, start: 0.000000, bitrate: 697 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 60 fps, 60 tbr, 1k tbn (default)
  
והפעלה של
ffmpeg -i ./2023-10-04\ 12-10-33.mp4 \
    -c:a copy -filter:v fps=30 20231004121033_x264_30fps.mp4
שם הבעיה הייתה שקידוד המקור כבר היה H264, אז רווח מהקידוד לא יכל להיות מי יודע מה, אבל הורדת ה framerate כן נתן ובמקרה הזה קיבלתי סדר גודל רווח של 40% במקום עבור כל הקלטה. כאשר ניסיתי להשתמש בcrf של 10 המידה היה נראה ממש רע, לכן בחרתי פשוט להוריד את הframerate בלבד.

עבור הקלטות בהם היו הרצאות ומידע על הלוח , השתמשתי אפילו crf של 10 הראה לי ארטיפקטים , אבל למרות שניתן לראות בעיות בכתב קטן על הלוח, המלל עדיין היה קריא. שם חסכתי רק כ10 ג"ב.

סך הכול הכול קולל הקול חסכתי כ240 ג"ב מדיסק של 1 טרה שהיה מלא עד אפס מקום.