זוהי הפקודה flvmeta שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
flvmeta - לבצע מניפולציות או לחלץ מטא נתונים בקבצי Adobe Flash Video
תַקצִיר
flvmeta INPUT_FILE
flvmeta INPUT_FILE קובץ פלט
flvmeta -D|--dump [אפשרויות] INPUT_FILE
flvmeta -F|--מלא dump [אפשרויות] INPUT_FILE
flvmeta -C|--בדוק [אפשרויות] INPUT_FILE
flvmeta -U|--עדכון [אפשרויות] INPUT_FILE [קובץ פלט]
תיאור
flvmeta הוא כלי שורת פקודה שמטרתו לתפעל קבצי Adobe(tm) Flash Video (FLV),
באמצעות מספר פקודות, שרק אחת מהן יכולה לשמש עבור כל הפעלת ה-
תכנית.
יש לו את היכולת לחשב ולהחדיר מגוון ערכים ב onMetaData אירוע
תג, כולל מדדי פריים מפתח המשמשים את רוב נגני הווידאו כדי לאפשר חיפוש גישה אקראית,
במיוחד עבור קבצי HTTP המוזרמים פסאודו באמצעות מודול בצד השרת, על ידי שליחת הלקוח
הסטת הקובץ חיפשה את ה-keyframe הרצוי הקרוב ביותר.
כלים כגון flvmeta יש להשתמש במקרה שתהליך הקידוד הראשוני אינו מסוגל
להחדיר את המטא נתונים האלה.
זה יכול גם אופציונלי להזריק את onLastSecond אירוע, המשמש לאותת סוף ההשמעה,
למשל להחזיר את תוכנת הנגן למצב 'עצור'.
flvmeta יש גם את היכולת לשפוך מטא נתונים ומידע מלא על הקבצים לסטנדרט
פלט, במגוון פורמטים של פלט טקסטואלי, כולל XML, YAML ו-JSON.
לבסוף, התוכנית יכולה לנתח קבצי FLV כדי לזהות בעיות ושגיאות פוטנציאליות, וכן
ליצור דוח טקסטואלי כפורמט גולמי, כ-JSON או כ-XML. יש לזה את היכולת
לזהות יותר ממאה בעיות, עוברות מבלתי מזיקות לבלתי ניתנות להפעלה, באמצעות
כמה מהעולם האמיתי נתקל בבעיות.
flvmeta יכול לפעול על קבצים גדולים באופן שרירותי, ויכול לטפל בקבצי FLV באמצעות מורחב
חותמות זמן (32 סיביות). זה יכול לנחש ממדי מסגרת וידאו עבור כל רכיבי ה-codec של הווידאו הידועים
נתמך על ידי מפרט FLV הרשמי.
השימוש בזיכרון שלו נשאר מינימלי, מכיוון שהוא משתמש באלגוריתם קריאה דו-מעבר המאפשר
חישוב כל התגים הדרושים מבלי לטעון שום דבר מעבר לתגיות הקובץ
כותרות בזיכרון.
פקודות
ניתן לציין רק פקודה אחת להפעלת flvmeta. הפקודה הנבחרת
קובע את אופן ביצוע התוכנית.
כברירת מחדל, אם לא צוינה פקודה, flvmeta יבחר באופן מרומז בפקודה לשימוש
על פי הנוכחות של INPUT_FILE ו קובץ פלט.
אם רק INPUT_FILE נוכח, ה --מזבלה הפקודה תתבצע.
אם שניהם INPUT_FILE ו קובץ פלט נמצאים, ה --עדכון הפקודה תתבצע.
להלן רשימה של הפקודות הנתמכות:
-ד, --מזבלה
זרוק ייצוג טקסטואלי של הראשון onMetaData תג נמצא ב INPUT_FILE לסטנדרט
תְפוּקָה. פורמט ברירת המחדל הוא XML, אלא אם צוין אחרת.
אפשר גם לציין אירוע אחר דרך ה --מִקרֶה אפשרות, כגון onLastSecond.
-ו, --מזבלה מלאה
זרוק ייצוג טקסטואלי של כל התוכן של INPUT_FILE לפלט סטנדרטי. ה
פורמט ברירת המחדל הוא XML, אלא אם צוין אחרת.
-ג, --חשבון
הדפס דוח לפלט סטנדרטי עם אזהרות ושגיאות שזוהו ב INPUT_FILEכמו
כמו גם אי התאמה אפשרית, ומידע על רכיבי ה-codec המשמשים בקובץ.
קוד היציאה יוגדר לערך שאינו אפס אם יש לפחות שגיאה אחת בקובץ.
פורמט הפלט יכול להיות טקסט רגיל, XML באמצעות ה- --xml אפשרות, או JSON באמצעות ה-
--json אוֹפְּצִיָה. ניתן גם להשבית אותו לחלוטין באמצעות ה --שֶׁקֶט אפשרות אם כן
מתעניין רק בסטטוס היציאה.
הודעות מחולקות לארבע רמות ספציפיות בעלות חשיבות גוברת:
· מידע: הודעות מידע שאינן נוגעות לתוקף הקובץ
· אזהרה: הודעות שמודיעות על מוזרויות בפורמט ה-FLV אבל זה אולי לא יפריע
קריאת קבצים או יכולת השמעה, זוהי רמת ברירת המחדל
· שגיאה: הודעות המודיעות על שגיאות שעלולות להפוך את הקובץ לבלתי אפשרי להפעלה או
להזרים בצורה נכונה
· קטלני: הודעות המודיעות על שגיאות שהופכות קריאת קבצים נוספת לבלתי אפשרית
לכן מסיים את הניתוח לחלוטין
השמיים --רָמָה האפשרות מאפשרת flvmeta להגביל את הצגת ההודעות לרמה מינימלית
בין אלה, למשל אם המשתמש מעוניין רק בהודעות שגיאה ומעלה.
כל הודעה או תבנית הודעה המוצגת למשתמש מזוהה על ידי קוד ספציפי של
בפורמט הבא:
[level][topic][id]
· רָמָה היא אות גדולה שיכולה להיות I, W, E, F לפי
רמות ההודעות הנ"ל
· נושא הוא מספר שלם דו ספרתי המייצג את הנושא הכללי של ההודעה
· id הוא מזהה ייחודי בן שלוש ספרות עבור ההודעה, או תבנית הודעה אם
פרמטרים
הודעות יכולות להיות קשורות לנושאים הבאים:
· 10 פורמט קובץ flv כללי
· 11 כותרת הקובץ
· 12 גודל התג הקודם
· 20 פורמט תג
· 30 סוגי תגים
· 40 חותמות זמן
· 50 נתוני אודיו
· 51 קודקים אודיו
· 60 נתוני וידאו
· 61 קודקים של וידאו
· 70 מטה
· 80 נתוני AMF
· 81 פריים מפתח
· 82 נקודות סימן
לדוגמה, מייצג אזהרה בנושא 51 עם המזהה 050, המייצג אזהרה
הודעה הקשורה לקודקים אודיו, במקרה זה כדי לאותת שלתג אודיו יש לא ידוע
codec.
-יו, --עדכון
עדכן את קובץ הקלט הנתון על ידי הוספת קובץ ממוחשב onMetaData תָג. אם קובץ פלט is
שצוין, הוא יווצר או יוחלף במקום וקובץ הקלט לא יהיה
שונה. אם יש לעדכן את הקובץ המקורי, ייווצר קובץ זמני ב-
ספריית ברירת המחדל הזמנית של הפלטפורמה, והיא תועתק על הקובץ המקורי בכתובת
סוף המבצע. זאת בשל העובדה שקובץ הפלט נכתב תוך כדי
הקובץ המקורי נקרא עקב שיטת שני-מעבר.
המטא-נתונים המחושבים מכילים בין שאר הנתונים מידע מלא על פריים מפתח, על מנת
אפשר הזרמת HTTP פסאודו וחיפוש גישה אקראית בקובץ.
כברירת מחדל, an onLastSecond תוכנס תג, אלא אם כן --אין-שנייה אחרונה האפשרות היא
נָקוּב.
בדרך כלל מוחלף על ידי תהליך העדכון, המטא נתונים הקיימים שנמצאו בקובץ הקלט
ניתן לשמר על ידי --לשמור אוֹפְּצִיָה.
אפשר גם להוסיף ערכי מחרוזת מותאמים אישית עם ה- --לְהוֹסִיף אפשרות, שיכולה להיות
צוין מספר פעמים.
כברירת מחדל, פעולת העדכון מבוצעת ללא פלט, אלא אם כן --מִלוּלִי אוֹפְּצִיָה
צוין, או את --print-metadata משמש להדפסת המטא נתונים החדשים שנכתבו ל-
פלט סטנדרטי.
אפשרויות
מזבלה
-d פורמט, --dump-format=פורמט
ציין פורמט dump היכן פורמט הוא 'xml' (ברירת מחדל), 'json', 'raw' או 'yaml'.
ישים גם עבור --מזבלה מלאה פקודה.
-י, --json
שווה ערך ל --dump-format=json
-ר, --גלם
שווה ערך ל --dump-format=raw
-איקס, --xml
שווה ערך ל --dump-format=xml
-י, --יאמל
שווה ערך ל --dump-format=yaml
-e מקרה, --אירוע=מקרה
ציין את האירוע ל-dump במקום onMetaData, למשל onLastSecond
לבדוק
-l רמה, --level=רמה
הדפס רק הודעות שבהן הרמה היא לפחות רמה. הרמות הן, על ידי עלייה
חשיבות, 'מידע', 'אזהרה' (ברירת מחדל), 'שגיאה' או 'קטלנית'.
-q, --שֶׁקֶט
אין להדפיס הודעות, רק להחזיר את קוד המצב
-איקס, --xml
הפק דוח XML במקום טקסט ברירת המחדל 'ידידותי למהדר'
-י, --json
צור דוח JSON במקום טקסט ברירת המחדל 'ידידותי למהדר'
עדכון
-M, --print-metadata
הדפס מטא נתונים ל-stdout לאחר עדכון באמצעות הפורמט שצוין על ידי --פוּרמָט
אוֹפְּצִיָה
-a שם = VALUE, --הוסף=שם = VALUE
הוסף ערך מחרוזת מטא נתונים לקובץ הפלט. צמד השם/ערך יהיה
מצורף בסוף ה onMetaData תָג.
-ס, --ללא שנייה אחרונה
אל תיצור את onLastSecond תג
-פ, --לשמור
לשמור על קובץ קלט קיים onMetadata תיוגים
-ו, --לתקן
תקן תגים לא חוקיים מקובץ הקלט
-אני, --להתעלם
התעלם מתגים לא חוקיים מקובץ הקלט (התנהגות ברירת המחדל היא לעצור את
תהליך עדכון עם שגיאה)
-ט, --reset-timestamps
אפס חותמות זמן כך קובץ פלט מתחיל באפס. זה נוסף בגלל שחלקם
קבצי FLV מיוצרים על ידי חיתוך קבצים גדולים יותר, והתוכנה מבצעת את החיתוך
אינו מאפס את חותמות הזמן כנדרש בתקן, מה שעלול לגרום
בעיות השמעה.
-ק, --כל-keyframes
אינדקס את כל תגי ה-keyframe, כולל חותמות זמן כפולות
כללי
-ב, --מִלוּלִי
להציג הודעות אינפורמטיביות
-V, --גִרְסָה
הדפס מידע על גרסה ויציאה
-ח, - עזרה
הצג עזרה על השימוש והיציאה של התוכנית
פורמטים
הפורמטים השונים של XML המשמשים את flvmeta מתוארים במדויק על ידי ה-XSD הבא
סכמות:
· http://schemas.flvmeta.org/flv.xsd: מתאר את הארגון הכללי של קבצי FLV
· http://schemas.flvmeta.org/Amf0.xsd: מתאר ייצוג XML של Adobe(TM)
פורמט סידורי AMF0
· http://schemas.flvmeta.org/report.xsd: מתאר את פורמט הפלט XML של ה- --חשבון
--xml הפקודה
דוגמאות
flvmeta example.flv
מדפיס את תוכן תג onMetadata של example.flv כפלט XML.
flvmeta example.flv out.flv
יוצר קובץ בשם out.flv המכיל מטא נתונים מעודכנים ותג onLastSecond מה-
קובץ exemple.flv.
flvmeta --חשבון --xml --level=שגיאה example.flv
בודק את תקפות הקובץ example.flv ומדפיס את דוח השגיאה ל-stdout ב-XML
פורמט, מציג רק שגיאות ושגיאות קטלניות.
flvmeta --מזבלה מלאה --יאמל example.flv
מדפיס את התוכן המלא של example.flv כפורמט YAML ל-stdout.
flvmeta --עדכון --אין-שנייה אחרונה --show-metadata --json example.flv
מבצע עדכון במקום של example.flv על ידי הוספת onMetadata מחושבים ללא
תג onLastSecond, ומדפיס את המטא נתונים החדשים שהוכנסו ב-stdout כ-JSON.
יְצִיאָה סטָטוּס
· 0 flvmeta יצא ללא שגיאה
· 1 אירעה שגיאה בעת ניסיון לפתוח קובץ קלט
· 2 קובץ הקלט לא זוהה כקובץ FLV
· 3 מצב של סוף קובץ נתקל באופן בלתי צפוי
· 4 אירעה שגיאת הקצאת זיכרון במהלך הפעלת התוכנית
· 5 תג ריק נתקל בקובץ קלט
· 6 אירעה שגיאה בעת ניסיון לפתוח קובץ פלט
· 7 תג לא חוקי נתקל בקובץ קלט
· 8 אירעה שגיאה בעת כתיבת קובץ פלט
· 9 מה היא --חשבון הפקודה דיווחה על קובץ לא חוקי (שגיאה אחת או יותר)
השתמש ב-flvmeta באינטרנט באמצעות שירותי onworks.net