سألني أحد العملاء ذات مرة عن تسجيل شاشة قصيرة لخطأ. كان الالتقاط 212 ميغا بايت لمدة أربع دقائق ، وهو ما يكلفه عرض شبكية العين في 60 إطارًا للثانية ، وقام خادم البريد الخاص بهم بضربه مرتين قبل أن أكتشف أن حد 25 ميغا بايت في رسالة الخطأ لم يكن الرقم الذي كان عليّ التغلب عليه. المرفقات مشفرة Base64 ، لذا يصل الملف أكبر بحوالي الثلث مما يسار. كنت بحاجة إلى أن أكون أقل من 18 ميغابايت ، وليس 25. خرج التسجيل بسرعة 6 ميجابايت ، 720 بكسل ، بدون صوت ، وبدا حادًا تمامًا ، لأن تسجيل شاشة لخطأ ما هو في الغالب صفحة ثابتة مع مؤشر يتحرك عبرها ويضغط بشكل جميل. لم يكن الدرس المفيد مكانًا. كان أن كل واحدة من هذه الوظائف هي نفس الحساب المكون من ثلاثة أسطر ، وبمجرد أن تتمكن من القيام بذلك ، تتوقف عن التخمين.
ليرة تركية؛DR: لا يمنحك مستوى الجودة حجمًا ملفًا ، لأن عامل المعدل الثابت هو هدف جودة ويعتمد الحجم الناتج على مقدار الحركة التي تحملها اللقطات. للوصول إلى حد صعب، اعمل منه إلى الوراء: معدل البت المستهدف بالكيلوبت في الثانية هو الحجم بالبايت في 8 مقسومًا على المدة بالثواني، مقسومًا على 1000. ثم اختر الدقة التي يقع معدل البت العادي فيها تحت هذا الرقم. يؤدي إسقاط 1080 بكسل إلى 720 بكسل إلى توفير أكثر من أي منزلق عالي الجودة ، وإسقاط الصوت الذي لا تحتاج إلى توفير أكثر مما يتوقعه الناس. لامه ضاغط الفيديو على Toolz.dev يقوم التشفير من خلال ffmpeg المترجمة إلى WebAssembly في علامة تبويب المتصفح الخاص بك ، ويعرض التقدير قبل أن يبدأ ، ولا يقوم أبدًا بتحميل الملف.
لماذا لا يعدك إعداد الجودة أبدًا بمقاس؟
لأن الطريقتين الأكثر شيوعًا لضغط الفيديو أجب عن أسئلة مختلفة ، والطريقة التي تحقق نتائج أفضل هي تلك التي لا يمكن أن تخبرك بالحجم مسبقًا.
معدل البت المستهدف يقول الوضع: استخدم 2 ميغابت في الثانية ، مهما كان ذلك. ثم يكون الحجم حسابيًا ، ويمكن التنبؤ به تمامًا ، وتتأرجح الجودة بشكل كبير. تحصل بطاقة العنوان الثابتة واللقطة المحمولة للمطر على 2 ميجابت في الثانية ، لذا فإن بطاقة العنوان تهدر معظمها وتبدو المطر مثل الحصى الرطب.
عامل معدل ثابت يقول الوضع: احتفظ بهذه الجودة ، أنفق أي أجزاء تحتاجها. تحصل الإطارات السهلة على عدد قليل من القطع ، وتحصل الإطارات الصلبة على الكثير ، وتبقى الصورة بصريًا حتى من البداية إلى النهاية. الحجم هو مهما كان.
يوصي كل مشفر حديث بالثاني لأي شيء لا يتم بثه مباشرة ، وهذا ما يستخدمه الضاغط هنا. التكلفة هي أن الرقم الموجود على الصفحة قبل الضغط على الزر عبارة عن تقدير مشتق من معدل البت النموذجي لهذا الدقة والجودة ، ويتحرك الرقم الحقيقي مع اللقطات. يهبط تسجيل الشاشة الثابت بشكل روتيني بنصف التقدير. يمكن أن تهبط فوقها لقطات محمولة من المياه المتحركة. تعتبر القصاصات والثلج وأوراق الشجر في الرياح وحبوب الكاميرا هي الأشياء الأربعة التي تتجاوز أي تقدير ، لأن جميعها قريبة من الضوضاء العشوائية والضوضاء هي الشيء الوحيد الذي لا يستطيع الضغط القيام به.
ما الذي يختاره CRF عند اختيار المستوى؟
يعمل المقياس من 0 إلى 51 لـ 8 بت H.264 ، حيث 0 بلا خسارة و 51 غير قابل للمشاهدة ، و دليل ترميز FFMPEG H.264 يضع الافتراضي عند 23 ونطاق العمل Sane عند حوالي 17 إلى 28. الخاصية التي تستحق الحفظ هي أن المقياس لوغاريتمي: تغيير بمقدار 6 نصف تقريبًا أو يضاعف معدل البت. تخبرك هذه الحقيقة الفردية بما يفعله كل مستوى قبل أن تجربه.
يوفر الضاغط ثلاثة ، وليس منزلق ، لأن الفرق بين CRF 26 و 27 غير مرئي بينما الفرق بين 23 و 33 هو النقطة الكاملة.
| مستوى | H.264 CRF | VP9 CRF | صوت | ما هو ل |
|---|---|---|---|---|
| ضوء | 23 | 31 | 160 كيلوبت في الثانية | أرشفة النسخ واللقطات سوف تقوم بتحريرها مرة أخرى. بالقرب من ما يكفي من الضياع بصريًا. |
| متوازن | 28 | 36 | 128 كيلو بايت في الثانية | الجواب العادي. ما يقرب من نصف معدل البت للضوء ، وعلى شاشة الكمبيوتر المحمول ، يجب أن تبحث عن الفرق. |
| قوي | 33 | 42 | 96 كيلوبت في الثانية | الوصول إلى حد صعب. تبدأ القطع الأثرية في الظهور على لقطات مفصلة ، ولا أحد يمانع في تحميل الدردشة. |
أرقام VP9 هي مقياس منفصل ، وهذا هو السبب في أنها تبدو غير مرتبطة. مستوى الضوء 31 هو بالضبط ما Google & # 39؛ s توصيات ترميز VP9 للفيديو عند الطلب قائمة بجودة الهدف لـ 1080 بكسل ، وبقية هذا الجدول يستحق الاحتفاظ بعلامة مرجعية: 32 لـ 720 بكسل ، 33 أو 34 لـ 480 بكسل ، 15 لـ 4K.
ما الذي يوفر مساحة أكبر أو جودة أقل أو بكسلات أقل؟
عدد أقل من البكسلات ، بهامش عريض ، وهي ليست قريبة.
الدقة هي كمية ثنائية الأبعاد. الانتقال من 1080p إلى 720p ليس ثالثًا ، فهو 2.07 مليون بكسل نزولًا إلى 0.92 مليون ، لذلك يحتوي المشفر على 56٪ بكسل أقل لوصفه قبل أن يتخذ قرارًا واحدًا بجودة. الملف يتبع ، تقريبا. الانتقال من 4K إلى 1080P يزيل ثلاثة أرباعها.
إليك ما يهبط مقطع مدته دقيقة واحدة ، حسب ارتفاع المصدر ومستوىه ، باستخدام معدلات البت النموذجية التي تقدرها الأداة. يتم تضمين الصوت.
| مصدر | ضوء | متوازن | قوي |
|---|---|---|---|
| 4K (2160p) | 106 ميغا بايت | 61 ميغابايت | 35 ميغا بايت |
| 1080 ص | 35 ميغا بايت | 20 ميجابايت | 11 ميغابايت |
| 720 ص | 20 ميجابايت | 12 ميغا بايت | 7 ميغا بايت |
| 480 ص | 10 ميغا بايت | 6 ميغا بايت | 4 ميغا بايت |
اقرأها عبر وأسفل. تحريك خطوة لأسفل عمود الجودة يوفر حوالي 43٪. يؤدي التحرك خطوة لأسفل إلى أسفل عمود الدقة إلى توفير حوالي 42٪ أيضًا ، والذي يبدو وكأنه ربطة عنق حتى تلاحظ أن خطوات الجودة تنفد بعد ثلاث مرات وتكلفتك القطع الأثرية المرئية ، بينما لا تكلفك خطوة الدقة شيئًا على الشاشة التي سيشاهدها معظم الناس. يتم عرض مقطع 1080 بكسل في رسالة Slack في مربع بعرض 400 بكسل.
الترتيب للمحاولة ، إذن: قم بإسقاط الدقة إلى أي شيء سيستخدمه المشاهد بشكل واقعي ، والحفاظ على الجودة متوازنة ، ولا تصل إلا إلى القوة إذا لم تنجح بعد.
كيف تهبط تحت حد صعب مثل 8 ميغا بايت؟
العمل إلى الوراء. الحساب بأكمله هو سطر واحد ، وهو الجزء الوحيد من حساب الفيديو الذي يستحق التعلم.
# total bitrate (kbps) = target size (bytes) x 8 / duration (s) / 1000
#
# 8 MB, 45-second clip:
# 8,000,000 x 8 / 45 / 1000 = 1,422 kbps total
# minus 96 kbps of audio = 1,326 kbps for video
#
# 1080p strong is ~1,400 kbps video -> about 8.4 MB. Just over.
# 720p strong is ~800 kbps video -> about 5.0 MB. Comfortable.
#
# the equivalent single pass, if you have ffmpeg installed:
ffmpeg -i input.mp4 -c:v libx264 -crf 33 -preset fast \
-vf scale=-2:720 -c:a aac -b:a 96k \
-movflags +faststart -pix_fmt yuv420p output.mp4
ثلاثة أشياء تجعل هذا موثوقًا في الممارسة.
- اترك ميدان الرأس. تهدف إلى 80٪ من الحد. لا يضرب CRF هدف الحجم ، والمرة التي يتجاوز فيها الوقت هو الوقت الذي ترسل فيه الملف.
- احسب التشفير الزائد إذا كان يتم عبر البريد الإلكتروني. يمثل Base64 كل 24 بت من الإدخال على شكل 4 أحرف ، بواسطة RFC 2045، لذلك ينتفخ المرفق بمقدار الثلث على السلك. يبلغ حد صندوق البريد 25 ميجا بايت حوالي 18 ميغابايت من الملف الفعلي.
- لا تثق في رقم تذكرته. كان الحد الأقصى للتحميل المجاني Discord 8 ميغابايت ، ثم 25 ميجابايت ، ثم 10 ميغا بايت ، ثم 20 ميغابايت اعتبارًا من أغسطس 2026. احتفظت Gmail بـ 25 ميغابايت لسنوات. يعيد WhatsApp ضغط أي شيء ترسله بغض النظر. تحقق من الحد في اليوم الذي تحتاجه ، ثم قم بالحساب.
إذا كان المقطع أطول من الشيء الذي تريد إظهاره ، فإن أفضل خطوة هي قصه بدلاً من الضغط عليه. يؤدي خفض المدة إلى النصف إلى النصف بجودة كاملة ، والتي لا يمكن أن يتطابق فيها أي إعداد. لامه قاطع الفيديو سيخرج النطاق دون إعادة التشفير على الإطلاق عندما يهبط القطع بالقرب من الإطار الرئيسي ، والنتيجة هي لقطات متطابقة بالبايت بنصف الحجم.
هل يساعد خفض معدل الإطارات؟
أقل مما تعتقد ، ويبدو أسوأ من أي شيء آخر في القائمة.
والسبب هو أن الإطارات المتتالية تنضغط بالفعل ضد بعضها البعض. يخزن برنامج ترميز الفيديو إطارًا كاملاً ثم يصف الاختلافات ، لذا فإن الإطار 31 في مقطع 60 إطارًا في الثانية مجاني تقريبًا ، لأنه مطابق تقريبًا للإطار 30. رميها بعيدًا لا يحفظ القطع التي تتخيل أنها تحفظها. في المعدلات النموذجية ، يكون التوفير أقرب إلى الخطي منه المجاني ، لذا فإن 60 إطارًا في الثانية إلى 30 إطارًا في الثانية ينطلق ربما في الثلث بدلاً من النصف ، و 30 إطارًا في الثانية إلى 15 إطارًا في الثانية يمنحك سيطرة مرئية على أي حركة كاميرا.
هناك حالتان حيث تكون المكالمة الصحيحة. لا يفقد تسجيل الشاشة للمحتوى الثابت في الغالب شيئًا مقروءًا عند 15 إطارًا في الثانية ، وهذا هو بالضبط الحالة التي تحاول فيها عادةً أن تجتهد في الحد من الحد. واللقطات التي تقوم بتحويلها إلى رسم متحرك لصفحة ، حيث لا يشاهد المشاهد الحركة بقدر ما يلاحظها ، تبقى على قيد الحياة من 12 إلى 15 إطارًا في الثانية.
لكل شيء مع شخص أو كاميرا تتحرك فيه ، اترك معدل الإطارات بمفرده وقم بإزالة الدقة بدلاً من ذلك.
هل يجب أن يبقى الصوت؟
اسأل عن سبب الصوت ، لأنه ليس مجانيًا.
تسجيل 10 دقائق مع صوت 128 كيلو بايت في الثانية يحمل 9.6 ميغابايت من الصوت قبل أن تحصل الصورة على بت واحد. إذا كان هذا الصوت عبارة عن لقطة شاشة صامتة مع همهمة الغرفة ، أو الموسيقى التي ستستبدلها ، أو مسار صوتي قمت بنسخه بالفعل ، وإسقاطه هو أسهل توفير متاح ولا يكلف المشاهد شيئًا. يحتوي الضاغط على مفتاح لذلك بالضبط ، والذي يمر -an ويغفل دفق الصوت بالكامل.
عندما يكون الصوت مهمًا ، تسقطه المستويات من 160 إلى 128 إلى 96 كيلو بت في الثانية ، وهي النقاط التقليدية. 96 كيلوبت في الثانية AAC كافية للكلام ونحيفة بشكل مسموع على الموسيقى. إذا كنت تريد أن يكون الصوت وحده، كملف لنسخه أو تحريره، فإن مستخرج الصوت يسحب المسار دون لمس الفيديو ، و تحويل الصوت سوف تعيد ترميزه بشروطه الخاصة.
أحد التفاصيل يمسك الناس. يتم تشغيل مقطع فيديو بدون مسار صوتي بصمت في معظم المشغلات ويفشل في التشغيل التلقائي في عدد قليل من متصفحات الهاتف المحمول القديمة التي تتوقع كتم صوت المسار. إذا كان المقطع ينتقل إلى صفحة ويب ، فإن المسار الصامت بسرعة 8 كيلوبت في الثانية يكون أحيانًا أكثر أمانًا من لا شيء ، على الرغم من أن كل متصفح يتم شحنه اليوم يتعامل مع MP4 بالفيديو فقط بشكل صحيح.
هل يستحق Webm الانتظار الإضافي؟
يعتمد كليًا على من يفتح الملف.
يهبط VP9 في حاوية WebM بربع ربع تقريبًا من H.264 بجودة مرئية مماثلة. هذا مكسب حقيقي ، وعلى موقعك الخاص ، حيث الشرط الوحيد هو أن المتصفح يمكنه تشغيله ، و WebM هو عادة الملف الأفضل. دعم Chrome و Firefox و Edge VP9 لعقد من الزمان ، ومنذ الإصدار 14 منذ الإصدار 14.
التكلفة تظهر مرتين. يعد تشفير VP9 أبطأ من x264 ، إلى حد كبير في المتصفح ، ويقوم أحد التفاصيل برحلات أي شخص يقوم بتشغيل الأمر يدويًا: يكرم VP9 هدفًا عالي الجودة فقط عندما يكون معدل البت صفرًا بشكل صريح. رحل -crf 36 يستخدم المشفر بمفرده معدل البت الافتراضي بدلاً من ذلك ويتجاهلك. يحتاج -crf 36 -b:v 0، وهو ما ترسله الأداة.
التكلفة الثانية هي كل ما هو ليس متصفحًا. تطبيقات الدردشة ، وحقول تحميل CMS ، ومحرري الفيديو ، و PowerPoint ، وجزء المعاينة في مدير الملفات ، وهاتف عميلك: يقبل العديد منها MP4 ويتجاهل Webm. إذا كان الملف يذهب إلى شخص ما ، أرسل MP4 مع H.264. إذا كان ينتقل إلى صفحة تتحكم فيها ، فإن WebM. نفس التقسيم يتم تشغيله من خلال سؤال التنسيق بأكمله ، وهو ملف دليل ريموكس أغطية من جانب التحويل.
لماذا يرفض MP4 المضغوط أحيانًا بدء اللعب؟
بسبب المكان الذي انتهى فيه الفهرس ، وهو العلم الوحيد الذي يجب ألا تتركه أبدًا.
يحتفظ MP4 بجدول محتويات يصف مكان بدء كل إطار. يكتشف المشفر كل ذلك بشكل طبيعي ويكتب الجدول في نهاية الملف. للتشغيل من قرص جيد. يتم تقديمه عبر HTTP ، وهذا يعني أن اللاعب لا يمكنه البدء حتى يحتوي على الملف بالكامل ، لذلك فإن مقطع فيديو بحجم 40 ميغابايت في تطبيق دردشة أو CMS يجلس هناك ولا يفعل شيئًا أثناء التنزيل ، ثم يبدأ.
-movflags +faststart هل يمرر الملف الثاني على الملف النهائي وينقل هذا الجدول إلى الأمام. يستغرق التشفير لحظة أطول ويبدأ تشغيل الفيديو بعد ثانية. كل MP4 ينتجه الضاغط لديه.
هناك علمان آخران في هذا الأمر للتوافق بدلاً من الحجم. -pix_fmt yuv420p القوات 4: 2: 0 chroma subplating ، لأن 4: 2: 2 أو 4: 4: 4 mp4 صالحة وترفض اللعب على قائمة طويلة من أجهزة فك تشفير الأجهزة. و مرشح المقياس مكتوب scale=-2:720 بدلاً من scale=-1:720لأن H.264 يتطلب أبعاد بكسل متساوية و -2 يدور العرض المحسوب إلى رقم زوجي. اطلب عرضًا فرديًا وفشل التشفير مع & quot؛ عرض غير قابل للقسمة على 2 بدلاً من التوسع إلى شيء قريب.
لماذا يبدو الضغط مرتين أسوأ بكثير؟
خسارة التوليد ، وهي أكثر حدة مما يتوقعه الناس لأن الضغط المفقود ليس خاملاً.
يتخلص التشفير الأول من التفاصيل التي يحكم على العين لن تفوتها وتترك وراءها قطعها الأثرية: حجب طفيف عند الحواف ، وتدرجات ناعمة ، ورنين حول تباين عالٍ. لا يوجد في التشفير الثاني طريقة لمعرفة تلك القطع الأثرية ليست الصورة. إنه يعاملهم على أنهم محتوى يستحق الحفاظ عليه ، وينفق أجزاء في وصفهم ، ويضيفه في الأعلى. ثلاث جولات من الضغط المتوازن على نفس المقطع تبدو أسوأ من جولة واحدة ، بحجم ملف أكبر.
لذا فإن القواعد العملية قصيرة. ضغط من الأصل في كل مرة ، وليس من النسخة التي قمت بإنشائها بالفعل. إذا كنت بحاجة إلى إصدار أرشيفية خفيف وإصدار صغير لإرساله ، فقم بعمل كلاهما من المصدر. وإذا كان الملف قد مر بالفعل من خلال نظام أساسي يعيد ضغطه عند التحميل ، وهو معظمها ، تعامل مع ما قمت بتنزيله كجيل ثانٍ بالفعل.
هذا هو نفس الحساب الذي يحكم ضغط الصور والسبب الذي تم حفظه JPEG بشكل متكرر يتحول إلى طين ، ونفس السبب ضاغط PDF يعمل على الصور داخل المستند بدلاً من المستند ككل.
هل يترك الملف جهازك؟
لا ، وبالنسبة للفيديو الذي يغير ما يمكن استخدام الأداة من أجله.
يمر التشفير من خلال تم تجميع FFMPEG في WebAssembly، التنفيذ في علامة التبويب المتصفح. تتم قراءة الملف من القرص الخاص بك إلى ذاكرة الصفحة ، ويتم ترميزه هناك ، ويتم تسليمه مرة أخرى كتنزيل. افتح DevTools ، وقم بالتبديل إلى لوحة الشبكة ، واضغط شيئًا ما ، وشاهد: لا يوجد طلب يحمل الفيديو.
ثلاث عواقب تتبع.
لا يتم تحميل أي شيء ، لذلك لا يتم الاحتفاظ بأي شيء. لا توجد نسخة على خادم في انتظار سياسة الاحتفاظ لحذفها ، لأنه لم يتم عمل نسخة. للحصول على عرض توضيحي لمنتج لم يتم إصداره ، أو لقطات بموجب NDA ، أو أي شيء بداخله شخص لم يوافق على تحميل طرف ثالث ، هذا هو الفرق بين قابل للاستخدام وغير قابل للاستخدام.
الحدود هي المتصفح ، وليست خطة. ينتقل الملف بالكامل إلى ذاكرة التبويب ، لذا تقبل الصفحة ما يصل إلى 500 ميغابايت وتضع حدًا لمرور واحد في 30 دقيقة ، وتتحقق من كل من عند اختيار الملف بدلاً من تنزيل محرك بأربعة ميغابايت ودقيقتين من التشفير. لا يوجد قائمة انتظار ولا علامة مائية ولا حساب ولا حجم للشراء.
الجولة الأولى أبطأ. يتم تنزيل حزمة WebAssembly FFMmpeg مرة واحدة ، والتي تستغرق بضع ثوانٍ ، ويتم تخزينها مؤقتًا بعد ذلك. تقوم الأداة بتحميلها على الضغط الأول بدلاً من عند فتح الصفحة ، بحيث تظل الصفحة نفسها سريعة.
متى يكون برنامج التشفير المكتبي هو الأداة الصحيحة؟
عندما تتوقف الأرقام أعلاه عن كونها القيد. علامة تبويب المتصفح هي أداة تشفير معقولة وخط أنابيب فيديو سيئ ، ومن الجدير أن تكون واضحًا بشأن مكان سقوط الخط.
انتقل إلى الملفات التي يزيد حجمها عن 500 ميغابايت أو مقاطع الفيديو التي تزيد عن نصف ساعة ، حيث تكون ذاكرة علامة التبويب هي الحد الحقيقي. انتقل إلى مجموعة أصلية لدفعة ، لأن 40 مقطعًا من خلال حلقة في غلاف تتفوق على 40 رحلة عبر أي واجهة. انتقل إلى الوطن عندما تحتاج إلى ترميز ثنائي للممر للوصول إلى حجم دقيق ، وهو ما لا يمكن أن يعد به تمرير CRF واحد. وانتقل إلى ترميز الأجهزة ، حيث ستفعل وحدة معالجة الرسومات في 20 ثانية ما يستغرقه WebAssembly أربع دقائق.
بالنسبة لمقاطع واحدة تحتاج إلى الحصول على حد في الدقائق الخمس المقبلة ، على جهاز كمبيوتر محمول ، دون تثبيت أي شيء أو تسليم اللقطات إلى شخص غريب ، فإن المتصفح هو المسار الأسرع عن بعد. هذا هو العمل الضاغط تم بناؤه من أجل، إلى جانب محول لتغيير التنسيق و ضاغط الصور لنفس المشكلة بعد واحد لأسفل.



