שלום לכולם, מקווה שזה הפורום המתאים.
מדי פעם אני רוצה להוריד קובץ וידאו מאתרים שמנגנים את הסרטונים שלהם באמצעות קובץ m3u8. התוכנה VLC נותנת פתרון מצויין לכך. הבעיה היא שלפעמים מדובר על קובץ וידאו ארוך ואני רוצה רק קטע קצר מתוכו להוריד. עד עכשיו לא מצאתי אפשרות להגדיר קטע זמן ספציפי לשמירה ב- VLC או אולי אופציה לשנות את הכתובת של הוידאו שיאפשר אופציה כזאת.
האם מישהוא יודע על אופציה כזאת?
איך מקליטים וידאו m3u8 באמצעות VLC עם נקודות התחלה וסיום?
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
בפלייליסט ישנה אפשרות בתפריט הקשר "Advanced Open", שם אמורות להיות האפשרויות הללו. אחרי שאתה מוסיף קובץ (אם ישנן האפשרויות) אתה יכול לבחור בתפריט ההקשר שלו שמירה. קיים?
אגב ניסיתי אצלי ב VLC על Windows, ההמרה לא עובדת כמו שצריך. נשמר רק רבע פריים, הוידאו נשמר במלא ארכו למרות ההגדרות והאיכות של ההמרה מזעזעת.
לדעתי אתה צריך כלי יותר חזק כמו ffmpeg, לדוגמה:
עובד יופי.
היתה תקופה שהייתי צריך לחבר שני חלקי וידאו מהרצאה (לפני ואחרי הפסקה), ולא רציתי לבזבז זמן ואיכות על המרה. ב VLC זה בלתי אפשרי (וגם בהרבה תוכנות). ב ffmpeg זו פקודה של שורה וחצי ולוקח חצי דקה.
אגב ניסיתי אצלי ב VLC על Windows, ההמרה לא עובדת כמו שצריך. נשמר רק רבע פריים, הוידאו נשמר במלא ארכו למרות ההגדרות והאיכות של ההמרה מזעזעת.
לדעתי אתה צריך כלי יותר חזק כמו ffmpeg, לדוגמה:
קוד: בחירת הכל
ffmpeg -ss 00:01:00 -i https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8 -c copy -t 00:01:00 -bsf:a aac_adtstoasc output.mp4
היתה תקופה שהייתי צריך לחבר שני חלקי וידאו מהרצאה (לפני ואחרי הפסקה), ולא רציתי לבזבז זמן ואיכות על המרה. ב VLC זה בלתי אפשרי (וגם בהרבה תוכנות). ב ffmpeg זו פקודה של שורה וחצי ולוקח חצי דקה.
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
@NACHUM37
·
אוקיי הצלחתי להתקין את החבילה ffmpeg למק ובאמצעות פקודת טרמינל הזאת הצלחתי לשמור את הקובץ למחשב שאגב הוא מוריד את הוידאו במהירות מטורפת לעומת ה- VLC. מוציא לי את הקובץ באיכות טובה עם קובץ בגודל פחותה מזאת של VLC.
·
אוקיי הצלחתי להתקין את החבילה ffmpeg למק ובאמצעות פקודת טרמינל הזאת הצלחתי לשמור את הקובץ למחשב שאגב הוא מוריד את הוידאו במהירות מטורפת לעומת ה- VLC. מוציא לי את הקובץ באיכות טובה עם קובץ בגודל פחותה מזאת של VLC.
עכשיו השאלה איך אני מכניס אופציה להגדרת זמן לפקודה.ffmpeg -I https://cdn.ch20-cdnwiz.com/p/101/sp/10 ... aster.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4...
בקיצור מצאת את האופציה אבל התקלה בדיוק כמו ב VLC לWin שהזכרתי מקודם - כל הסרטון נשמר.
בקשר ל ffmpeg, מדובר בכלי חזק מאוד לקידוד וידאו. יש פה הסבר מקיף: https://ffmpeg.org/ffmpeg.html
לא חייבים ללמוד אותו לעומק בשביל פעולה כזו.
תוריד את התוכנה מכאן: https://ffmpeg.org/download.html#build-mac
או אם יש לך homebrew אתה יכול גם להתקין את התוכנה ע"י הפקודה הבאה:
אני לא רואה בזה צורך, להתקין אותה רק לשם המטרה הזוץ
נווט עם ה shell לתיקיה בה נמצא ffmpeg עצמו.
פירוש הפקודה לעיל:
הרצת התוכנה בשם זה שנמצאת בתיקיה שניווטת אליה
אופציית ss שפירושה ממתי להתחיל את השמירה ופרמטר של זמן, החל מדקה לצורך העניין.
i מורה על כתובת הוידאו שאתה רוצה להמיר, ולאחריו הכתובת ברשת או נתיב לקובץ מקומי.
מורה ל c כלומר קודק לא להמיר את הזרם אלא רק לפענח אותו ו"לארוז" מחדש בתוך קובץ.
כמה t כלומר זמן להעתיק ופרמטר של זמן. אם באופציה ss התחלנו להעתיק מדקה 01 אז העתקה למשך דקה נוספת תעתיק מ 01 עד 02.
בעיקרון m3u8 אמור להכיל סטרימים מתאימים ל mp4, אך יכולים להיות מקרים יותר מורכבים כאשר למשל יש סטרים אודיו שצריך שינוי מסוים ללא המרה כדי שיהיה ניתן לארוז אותו כ mp4:
אופצית bsf היא פילטר לסטרימים הקיימים, כאשר bsf:a ה a כמובן תופס את האודיו, ואז ציון שם הקודק אליו רוצים להמיר, במקרה הזה aac_adtstoasc כלומר aac מ atds ל acc המיועד לאריזה בקובץ. לא תמיד יש צורך באופציה הזו.
שם הקובץ שיישמר.
בקשר ל ffmpeg, מדובר בכלי חזק מאוד לקידוד וידאו. יש פה הסבר מקיף: https://ffmpeg.org/ffmpeg.html
לא חייבים ללמוד אותו לעומק בשביל פעולה כזו.
תוריד את התוכנה מכאן: https://ffmpeg.org/download.html#build-mac
או אם יש לך homebrew אתה יכול גם להתקין את התוכנה ע"י הפקודה הבאה:
קוד: בחירת הכל
brew install ffmpeg
נווט עם ה shell לתיקיה בה נמצא ffmpeg עצמו.
פירוש הפקודה לעיל:
קוד: בחירת הכל
ffmpeg
קוד: בחירת הכל
-ss 00:01:00
קוד: בחירת הכל
-i URL
קוד: בחירת הכל
-c copy
קוד: בחירת הכל
-t 00:01:00
בעיקרון m3u8 אמור להכיל סטרימים מתאימים ל mp4, אך יכולים להיות מקרים יותר מורכבים כאשר למשל יש סטרים אודיו שצריך שינוי מסוים ללא המרה כדי שיהיה ניתן לארוז אותו כ mp4:
קוד: בחירת הכל
-bsf:a aac_adtstoasc
קוד: בחירת הכל
output.mp4
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
@NACHUM37
·
ממש תודה רבה על כל העזרה!! אגב במקרה כן יש לי את homebrew בשביל משהו אחר וזאת אחלה אופציה להתקנה של חבילות.
אני אעבור על מה שרשמתה ומקווה שאצליח להבין את העקרון ואיך להשתמש בפקודות בצורה יותר גמישה.
כרגע מצאתי את הקוד הזה שאומנם עושה כמעט בדיוק את מה שביקשתי אבל 1) משום מה התהליך בתוך הטרמינל ארוך יותר מאשר סתם להוריד את כל הוידאו כ- mp4 ו- 2) למרות שרשום בקוד מדקה אחד עד דקה 2 הוא בסוף מוציא לי קובץ באורך 2:30 דקות. מוזר.
ffmpeg -re -I https://cdn.ch20-cdnwiz.com/p/101/sp/10 ... aster.m3u8 -ss 00:01:00.0 -t 00:02:00.0 -c copy -bsf:a aac_adtstoasc output3.mp4
·
ממש תודה רבה על כל העזרה!! אגב במקרה כן יש לי את homebrew בשביל משהו אחר וזאת אחלה אופציה להתקנה של חבילות.
אני אעבור על מה שרשמתה ומקווה שאצליח להבין את העקרון ואיך להשתמש בפקודות בצורה יותר גמישה.
כרגע מצאתי את הקוד הזה שאומנם עושה כמעט בדיוק את מה שביקשתי אבל 1) משום מה התהליך בתוך הטרמינל ארוך יותר מאשר סתם להוריד את כל הוידאו כ- mp4 ו- 2) למרות שרשום בקוד מדקה אחד עד דקה 2 הוא בסוף מוציא לי קובץ באורך 2:30 דקות. מוזר.
ffmpeg -re -I https://cdn.ch20-cdnwiz.com/p/101/sp/10 ... aster.m3u8 -ss 00:01:00.0 -t 00:02:00.0 -c copy -bsf:a aac_adtstoasc output3.mp4
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
@NACHUM37
·
תודה ענקית!!! יש לי בטוח עוד ללמוד הרבה אבל לקחתי את הפקודות שרשמתה ובניתי בעצמי את הפקודה הכי פשוטה וזה עובד מצויין!!!! בדיוק בזמנים שרציתי ולקח לו כמה שניות ולא סתם תהליך ארוך.
ffmpeg -i https://cdn.ch20-cdnwiz.com/p/101/sp/10 ... aster.m3u8 -ss 00:01:00 -t 00:02:00 -c copy output4.mp4
·
תודה ענקית!!! יש לי בטוח עוד ללמוד הרבה אבל לקחתי את הפקודות שרשמתה ובניתי בעצמי את הפקודה הכי פשוטה וזה עובד מצויין!!!! בדיוק בזמנים שרציתי ולקח לו כמה שניות ולא סתם תהליך ארוך.
ffmpeg -i https://cdn.ch20-cdnwiz.com/p/101/sp/10 ... aster.m3u8 -ss 00:01:00 -t 00:02:00 -c copy output4.mp4
- nirmitlamed (פותח השרשור)
-
- חבר פעיל מאוד
- הודעות: 360
- הצטרף: דצמבר 2012
- נתן תודות: 126 פעמים
- קיבל תודות: 23 פעמים
בדרך כלל זה מה שאני עושה, מחפש שורת קוד שמישהו כתב.
יש להם דוקומנטציה מאוד מפורטת, כמובן שקשה להרכיב ממנה שורת קוד, אבל אחרי שמצאת שורת קוד שמישהו כתב אפשר לבדוק שם מה המשמעות.
https://ffmpeg.org/documentation.html
https://ffmpeg.org/ffmpeg.html
אני בטוח שבגיגול ffmpeg guide תמצאנה תוצאות שימושיות
יש להם דוקומנטציה מאוד מפורטת, כמובן שקשה להרכיב ממנה שורת קוד, אבל אחרי שמצאת שורת קוד שמישהו כתב אפשר לבדוק שם מה המשמעות.
https://ffmpeg.org/documentation.html
https://ffmpeg.org/ffmpeg.html
אני בטוח שבגיגול ffmpeg guide תמצאנה תוצאות שימושיות