פורסם 2014 בפברואר 511 שנים מחבר ואוו, זה כזה מסובך. ffmpeg.exe יש לי בגלל שמותקן FormatFactory. מה זה normalize ? זה : http://necolas.github.io/normalize.css/ ? שורת קוד ראשונה: מה הכוונה לכוננים במחשב? איפה שהקבצים אודיו-וידיאו נמצאים? שורת קוד שניה: איך בידיוק להעתיק את התוכנות לcygwin? הכוונה לC:\Program Files\cygwin ? שורת קוד רביעית: איך מריצים את הסקריפט? לאן נכנסים בתוכנה? מה הרצת שם? לא ברור לי מדוע זה קובץ WAV. סתם להמחשה? כי הרי אנחנו מדברים הרי על AVI/FLV והשאר אם יש צורך להמיר את הAVI/FLVים לWAV כאודיו זה סירבול. וזה כבר מסורבל פחד אם אתה יכול תנסה להסביר למישהו שאין לו מושג בתכנות. נערך 2014 בפברואר 511 שנים על-ידי SaXtoR
פורסם 2014 בפברואר 511 שנים כדיי שהסקריפט יוכל לרוץ על וינדוס הוא צריך סביבת עבודה יוניקסית. את זה נותן cygwinffmpeg ו normalize הם לא חלק מ cygwin, תוריד אותם בנפרד ותעתיק לתוך תיקיית התוכנותhttp://normalize.nongnu.org/שורת קוד ראשונה :בלינוקס/יוניקס, ולכן גם בסביבה הוירטואלית של cygwin, אין כוננים כמו C D וכו. יש מערכת תיקיות אחת יחידה. היא נמצאת בתיקיה כלשהיא של התוכנה cygwinהפקודה :mountמראה לנו איך דברים נקראים בוינדוס מול איך הם נקראים בתוך ה cygwin. בין היתר :C:/cygwin on / type ntfs (binary,auto)תיקיית ה "/" (התיקיה הראשית) של cygwin נמצאת ב c:\cygwin בוינדוסC: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)M: on /cygdrive/m type ntfs (binary,posix=0,user,noumount,auto)הגישה ל c של וינדוס היא דרך /cygdrive/c של cygwinהגישה ל m של וינדוס היא דרך /cygdrive/m של cygwin (סתם כונן רשת שהיה מוגדר על אותו מחשב, באותה צורה יהיה מוגדר d אם יש כונן כזה וכו)בתוך cygwin תיקיית התוכנות היא /bin לכן בוינדוס התיקייה היא c:\cygwin\bin. תעתיק לשם את ffmpeg.exe ו normalize.exeשורת קוד שלישית :נניח שהקבצי וידאו נמצאים ב d:\video. לפי מה שראינו בפקודה 1, מה שבוינדוס הוא d ב cygwin הוא /cygdrive/d, לכן התיקיה d:\video תהיה ב /cygdrive/d/videoכדיי להיכנס לשם אם ה cygwin תריץcd /cygdrive/d/videoשורת קוד רביעית :זה הסקריפט. תריץ אותו (העתק הדבק של השורה הארוכה הזאת מהפורום לשורת הפקודה)..... touch silent\ files.txt ; IFS=$'\n' ; for x in $(find . -iname "*" -type f) ; do ffmpeg -i $x -ar 4096 temp.wav ; let p=$[0`normalize -n temp.wav 2>/dev/null |sed -e "s/\./\n/g" |head -n 1`] ; rm temp.wav ; if [ $p -eq 0 ] ; then echo NO_DATA $x >> silent\ files.txt ; else if [ $p -lt -40 ] ; then echo SILENCE $x >> silent\ files.txt ; fi ; fi ; doneיקח לסקריפט זמן מה לעבוד, ואתה אמור לקבל קובץ silent files.txt בתיקיה ביחד אם כל קבצי הוידאו. בקובץ הזה תראה שמות של קבצי וידאו שהסקריפט חושב שהם בלי קול. תבדוק כל אחד מהם, אם הוא אכן בלי קולהסקריפט משתמש ב normalize כדיי למדוד מה ה dB של כל קובץ. אם ה dB נמוך מאוד (פחות ממינוס 40 dB) הסקריפט יחשוב שהקובץ שקט מידי. אם ה dB הוא 0, הסקריפט יחשוב שהקובץ לא מכיל אודיו (קובץ שכן מכיל אודיו הוא בדרך כלל באיזור מינוס 5 dB). כל אחד מ 2 המקרים האלה ידווח לקובץ silent files.txtבעיה : normalize יודע לעבוד רק אם wav.... צריך להסתדר אם מה שיש : אם ניתן לבדוק רק wav, נמיר כל קובץ וידאו ל wav על ידיי ffmpeg, ואז ניתן ל normalize לבדוק את ה wavהסקריפט כמו שהוא (בלי שינויים) יכול לרוץ בתיקיה שמכילה קבצים שונים. כל הפורמטים של וידאו ש ffmpeg יודע להמיר ל wav ייבדקו. פורמטים ש ffmpeg לא יודע להמיר (פורמט לא נתמך, או אם בטעות היה שם קובץ לא קשור כמו exe) לא ייבדקו ולקובץ silent files.txt ייכתב שהם לא מכילים מידע אודיו
פורסם 2014 בפברואר 911 שנים מחבר התקנתי את cygwin הכנתי מראש קבצי WAV שהמרתי מFLX/AVI הורדתי את ffmpeg, ו-normalize . העתקתי לC:\cygwin64 משם אני לא יודע איך להתקדם. תגיד, יש מצב שאתה מכין "מדריך" קצרצר בCAMTASIA בזמנך הפנוי? אפילו לא מדריך, רק להקליט ולהבין מה אתה עושה שם. כמעט בלתי אפשרי להבין ככה, בחיי סינית
פורסם 2014 בפברואר 911 שנים אתה אמור להעתיק את הקבצים לתיקיית התוכנות, לא לתיקייה הראשית. בדוגמה שלי תיקיית התוכנות היא c:\cygwin\bin ולא c:\cygwin, אצלך cygwin64 בהתאמה כנראהאתה לא ממיר כלום ל wav, הסקריפט דואג לזה בעצמו. תמחוק את ה wav (אחרת הסקריפט יבדוק אותם בנוסף לקבצי הוידאו וסתם יקח לו זמן נוסף לעבוד....)אין לי cygwin ולא וינדוס (כשכתבתי על ה cygwin הייתי על מחשב וינדוס לא שלי). לכן נעשה את זה בכיאלו : לדוגמה נניח שקבצי הוידאו שלך נמצאים ב d:\files\video. העתקת כבר 2 קבצי exe ל c:\cygwin\binבחלון הפקודות של cygwin :1בדיקה איך מגיעים לכונן d מתוך cygwinפקודה :mountתוצאה :C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)מכאן ניתן להבין ש d: של וינדוס הוא /cygdrive/d של cygwin, לכן d:\files\video של וינדוס הוא /cygdrive/d/files/video של cygwin(שים לב לכיוון ההפוך של / : בוינדוס \, ב cygwin /)2כניסה לתיקיית הוידאו שלך (שנה בהתאם את שם התיקיה וכו' למה שיש אצלך באמת)cd /cygdrive/d/files/video3הרצת הסקריפטהקוד הארוך של הסקריפט בשורה אחת נערך 2014 בפברואר 911 שנים על-ידי 11010010110
פורסם 2014 בפברואר 1611 שנים מחבר אוקי, אז הצלחתי סוף סוף להריץ את הסקריפט ויצר לי קובץ silent files.txt בדקתי אותו ידני עפ"י שמות הקבצי וידיאו , ובדקתי 4 - באמת היו בלי קול, אח''כ ה5 ה6 עם קול . ה7 בלי קול, ה8 עם קול אז למה זה מפשל? נערך 2014 בפברואר 1611 שנים על-ידי SaXtoR
פורסם 2014 בפברואר 1711 שנים בוא נבדוקתיצור תיקיה בצד ותעביר אליה כמה קבצים עליהם הזיהוי לא היה נכון (אם היו כמה צורות של זיהוי לא נכון אז דוגמה מכל 1) + קובץ תקין להשוואה. תריץ בה את הסקריפט הזה (בדיוק כמו שנכנסת והרצת את הסקריפט המקורי)הוא כותב לקובץ טקסט את כל הפלט של ffmpeg ו normalize כך שרואים מה התרחש בעבודה אם כל קובץ, והוא לא מוחק את ה wav. אבל שים לב שיהיה מספיק מקום בדיסק לפניי שאתה מריץ אותו. ה wav לוקחים בערך 1MB/דקהtouch test\ files.txt ; IFS=$'\n' ; for x in $(find . -iname "*" -type f) ; do echo $x >> test\ files.txt ; echo >> test\ files.txt ; ffmpeg -i $x -ar 4096 $x.wav 2>> test\ files.txt ; echo >> test\ files.txt ; echo _`normalize -n $x.wav 2>>test\ files.txt` >> test\ files.txt ; echo >> test\ files.txt ; echo >> test\ files.txt ; echo >> test\ files.txt ; doneתעלה לכאן את הקובץ טקסט שמתקבל + איזה קבצי וידאו הם מה (שמכילים / לא מכילים קול, שהזיהוי שלהם היה נכון / לא נכון) + אם יש קול בקובץ ה wav המתאים כשאתה פותח אותו בעצמך ובודק
פורסם 2014 בפברואר 1811 שנים מחבר בודדים הקבצים בהם יצר קובץ WAV.NO_DATA ./1 (1).avi - יש סאונדNO_DATA ./1 (1).flv - יש סאונדNO_DATA ./1 (1).mp4 - יש סאונדNO_DATA ./1 (10).avi - אין סאונדNO_DATA ./1 (11).avi - יש סאונדNO_DATA ./1 (12).avi - יש סאונדNO_DATA ./1 (13).avi - יש סאונדNO_DATA ./1 (14).avi - אין סאונדNO_DATA ./1 (18).avi - יש סאונדNO_DATA ./1 (19).avi - יש סאונדNO_DATA ./1 (2).avi - יש סאונד + קובץ WAV עם סאונדNO_DATA ./1 (2).flv - יש סאונדNO_DATA ./1 (2).mp4 - יש סאונדNO_DATA ./1 (20).avi - יש סאונדNO_DATA ./1 (21).avi - יש סאונדNO_DATA ./1 (22).avi - אין סאונדNO_DATA ./1 (23).avi - יש סאונדNO_DATA ./1 (24).avi - יש סאונדNO_DATA ./1 (25).avi - יש סאונדNO_DATA ./1 (26).avi - יש סאונדNO_DATA ./1 (27).avi - יש סאונדNO_DATA ./1 (28).avi - יש סאונדNO_DATA ./1 (29).avi - יש סאונדNO_DATA ./1 (30).avi - יש סאונד
פורסם 2014 בפברואר 1911 שנים מחבר ./1 (1).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (1).avi.wav: No such file or directorynormalize.exe: no files!_./1 (1).flv/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (1).flv.wav: No such file or directorynormalize.exe: no files!_./1 (1).mp4/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (1).mp4.wav: No such file or directorynormalize.exe: no files!_./1 (10).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (10).avi.wav: No such file or directorynormalize.exe: no files!_./1 (11).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (11).avi.wav: No such file or directorynormalize.exe: no files!_./1 (12).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (12).avi.wav: No such file or directorynormalize.exe: no files!_./1 (13).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (13).avi.wav: No such file or directorynormalize.exe: no files!_./1 (14).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (14).avi.wav: No such file or directorynormalize.exe: no files!_./1 (18).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (18).avi.wav: No such file or directorynormalize.exe: no files!_./1 (19).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (19).avi.wav: No such file or directorynormalize.exe: no files!_./1 (2).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (2).avi.wav: No such file or directorynormalize.exe: no files!_./1 (2).flv/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (2).flv.wav: No such file or directorynormalize.exe: no files!_./1 (2).mp4/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (2).mp4.wav: No such file or directorynormalize.exe: no files!_./1 (20).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (20).avi.wav: No such file or directorynormalize.exe: no files!_./1 (21).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (21).avi.wav: No such file or directorynormalize.exe: no files!_./1 (22).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (22).avi.wav: No such file or directorynormalize.exe: no files!_./1 (23).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (23).avi.wav: No such file or directorynormalize.exe: no files!_./1 (24).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (24).avi.wav: No such file or directorynormalize.exe: no files!_./1 (25).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (25).avi.wav: No such file or directorynormalize.exe: no files!_./1 (26).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (26).avi.wav: No such file or directorynormalize.exe: no files!_./1 (27).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (27).avi.wav: No such file or directorynormalize.exe: no files!_./1 (28).avi/usr/bin/ffmpeg.exe: error while loading shared libraries: swscale-2.dll: cannot open shared object file: No such file or directorynormalize.exe: file ./1 (28).avi.wav: No such file or directorynormalize.exe: no files!
פורסם 2014 בפברואר 1911 שנים ffmpeg לא עובד כי הוא לא מוצא את ה dll הזה, ואז הוא לא יכול לייצר קבצי wavתחפש את ה dll (אמור להיות באותו מקום שממנו לקחת את ffmpeg.exe) ותנסה להעתיק אותו לתיקיות bin/ (איפה שנמצא ffmpeg.exe) ו /lib של cygwin
פורסם 2014 בפברואר 1911 שנים מחבר הוא ביקש גם עוד מלא DLLים מC:\Program Files\FFModules הכנסתי והרצתי, יצר WAVים וזה הסלט שהוא עשה
פורסם 2014 בפברואר 1911 שנים הקובץ נראה כמו סלט כי notepad לא יודע לפתוח אותו. פתח אותו ב word והוא יהיה בסדר. הוא אמור להיראות כך : אני רואה קבצים ש ffmpeg מצליח להמיר, ו normalize מצליח לזהות נכון את הווליום שלהם. למשל 1 (1).avi - ווליום -18dB, אני חושב שהוא מכיל קול 1 (13).avi - ווליום -37dB, לא יודע אם זה עדיין נחשב לקול. תבדוק אותו ותחליט החל מכמה dB אתה רוצה שייחשב לשקט 1 (46).avi - ווליום -67dB, אני חושב שהוא שקט .. וקבצים ש ffmpeg מצליח להמיר ו normalize מצליח לזהות שהם לא מכילים קול בכלל. למשל 1 (6).avi - לפי normalize אין בו מידע קול חוץ מהם יש קבצים ש ffmpeg יוצר מהם wav ריק : 1 (10).avi 1 (14).avi .. כאלה לא היו צלי כשבדקתי את הסקריפט על המחשב שלי. ffmpeg כותב שהם Output file #0 does not contain any stream ואז normalize לא מצליח לפתוח אותם אם אתה יכול לבדוק : - את הקבצים 13 ו 46, מה הווליום שלהם ? האם היית מחשיב את אחד מהם בתור שקט או לא ? - את הקובץ 6, לפי normalize הוא שקט לחלוטין, האם זה נכון ? - את הקבצים כמו 10 ו 14 ש ffmpeg לא מצליח להמיר - מה קורה איתם ? יש או אין בהם קול ? האם אתה מצליח לפתוח את ה wav שנוצר מהם בנגן כלשהוא ? האם הם נפתחים בכלל ? מכילים קול ? שקטים ?
פורסם 2014 בפברואר 2011 שנים מחבר אז ככה:1 (1).av,מכיל קול מצוין1 (13).avi - קול מצוין1 (46).avi - לא שומעים כלום, רק רעש לבן1 (6).avi - אכן אין קול בכלל1 (10).avi - אין קול1 (14).avi - אין קול 13- סביר לחלוטין, לא צריך להגביר יותר מדי ואכן הסרטון מעט שקט46- לא שומעים כלום, אם מגבירים ממש הרבה יש רעש לבן10- אין קול(לא מצליח לפתוח WAV, הוא 0KB)14- אין קול(לא מצליח לפתוח WAV, הוא 0KB)
פורסם 2014 בפברואר 2011 שנים הקבצים 10 ו 14 הם "הבעייתיים" - ffmpeg לא יוצר מהם wav תקין, ואז normalize לא מצליח לפתוח את ה wavהסקריפט (המקורי) מצפה לקבל מ normalize מדידה של ה dB. אם הוא מקבל מדידה והיא נמוכה מ -40, הוא קובע שהקובץ שקט מידי. אם הוא לא מקבל מדידה בכלל (וזה מה שיקרה בקבצים 10 ו 14) הוא קובע שהקובץ לא מכיל מידע של קול. ב 2 המקרים האלה הוא יכתוב ל silent files את שם הקובץ ועל מה הוא הגיע לשםכך שלדעתי אם תריץ עכשו את הסקריפט המקורי, הוא יעשה את העבודה כמו שרצינובסקריפט המקורי ה dB שמתחתיו הקבצים נחשבים לשקטים הוא -40ה dB של קובץ 13 הוא -37. זה כבר דיי קרוב - אם יש קובץ אחר שקצת יותר שקט מ 13, אבל עדיין מכיל קול, הוא יגיע לרשימה בתור קובץ שקט מידי. אם אתה בודק את הקבצים לפניי שאתה מוחק אותם אתה תעלה על זהאם אתה רוצה להוריד את ה dB בסקריפט (למשל שהחל מ -60 ומטה בלבד ייחשב לשקט וקבצים של -40 לא יגיעו ל silent files), פשוט תשנה את ה -40 ל -60 (או מה שתרצה) - זה נמצא במקום יחיד בסקריפט לקראת הסוףלהערכה : קובץ 13 הוא -37 וזה נחשב למכיל קול. קובץ 46 הוא -67 וזה נחשב לשקט. אז הגבול נמצא איפה שהוא ביניהם(ואם אתה רוצה ניתן להוסיף לסקריפט שיכתוב את ה dB שהוא מדד לכל קובץ ב silent files)תמחוק את הקובץ silent files הישן (אם יש), את כל קבצי ה wav שהסקריפט החדש יצר (כדיי שהסקריפט המקורי לא יבדוק אותם סתם), ותריץ את הסקריפט המקורי (על הכמה קבצים בתיקיה הזאת לבדיקה). בדוק מה אתה מקבל בקובץ silent files עכשו נערך 2014 בפברואר 2011 שנים על-ידי 11010010110
פורסם 2014 בפברואר 2711 שנים מחבר אוקי, מצוין NO_DATA ./1 (10).aviNO_DATA ./1 (14).aviNO_DATA ./1 (22).aviNO_DATA ./1 (3).mp4NO_DATA ./1 (4).aviNO_DATA ./1 (41).aviNO_DATA ./1 (42).aviNO_DATA ./1 (45).aviSILENCE ./1 (46).aviNO_DATA ./1 (48).aviNO_DATA ./1 (5).mp4NO_DATA ./1 (51).aviNO_DATA ./1 (54).aviNO_DATA ./1 (6).aviNO_DATA ./1 (6).mp4NO_DATA ./1 (7).mp4NO_DATA ./1 (9).aviNO_DATA ./silent files לאחר בדיקה ידנית, כולם שקטים ולא מכילים קול. עכשיו השאלה איך לבצע חיפוש נוח שימצא אותם באותה תיקיה וככה אוכל לסמן ולמחוק אותם במקום לסמן אחד אחד ולחפש ידני ?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.