ffmpeg معنى - هل من الممكن استخراج ترجمات سوبريب(سرت)من فيديو MP4 مع فميغ؟




فوت بالانجليزي (4)

فقط في، (لا يمكن التعليق بسبب مندوب حتى الآن)، ولكن استخراج سرت من MP4 يؤدي إلى ملف تنسيق ك MOV_Text ليس سرت العادية. وسوف لا يزال الحصول على إضافة والعمل ولكن مثل تغيير MP4 إلى M4v. في حين أنه يعمل عادة، لا تعمل الأمور نفسها في التعليمات البرمجية. mov_text هو الرهيبة لضبط الخط / حجم الخ الخ يدويا أفضل الرهان هو لتحميل واختبار سرت من شبكة الإنترنت!

هذا سوف يعمل، ولكن سوف يؤدي إلى ملف_الملف ترميز mov_text:

ffmpeg -i in.mp4 out.srt

لقد تحققت من وثائق ففمبيغ والعديد من المنتديات وحصل على سطر الأوامر الصحيح لاستخراج ترجمات من الفيديو. MP4 يجب أن تبدو على النحو التالي:

ffmpeg -i video.mp4 -vn -an -codec:s:0 srt out.srt

ومع ذلك، أحصل على الخطأ التالي، الذي يقودني إلى التساؤل عما إذا كان هذا ممكنا على الإطلاق:

حدث خطأ أثناء فتح برنامج التشفير لتيار الإخراج # 0: 0 - ربما المعلمات غير الصحيحة مثل bit_rate أو المعدل أو العرض أو الارتفاع

باستخدام ffmpeg -codecs ، أستطيع أن أؤكد أن فميغ يجب أن تكون قادرة على ترميز ترجمات سوبريب.

باستخدام ffmpeg -i video.mp4 ، أستطيع أن أرى أن هناك اثنين من المسارات الترجمة المضمنة في الفيديو:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
...
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x572 [SAR 64:45 DAR 256:143], 1341 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
Stream #0:2(fra): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s
Stream #0:3(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D)
Stream #0:4(und): Subtitle: mov_text (text / 0x74786574)

تصحيح

لقد اختبرت مع مبسطة سطر الأوامر هو مبين في التعليقات ولكن لا يزال الحصول على نفس الخطأ. هنا رابط إلى إخراج مطول مفصلة من تشغيل الأمر. لقد حاولت أيضا تعطيل البيانات الوصفية والفصول تماما في الناتج الناتج ولكن لا تزال تنتج نفس الخطأ.


لقد اكتشفت إنفنتوالي لماذا لم أكن قد نجحت:

قد يكون سطر الأوامر المحدد على ما يرام تماما إذا تم ترميز الترجمات المصاحبة من الفيديو المصدر في تمثيل يستند إلى نص. ومع ذلك، كما يمكن أن يرى في الإخراج إلى ffmpeg -i سطر الأوامر، يتم ترميز ترجمات في تنسيق "dvd_subtitle".

يقوم تنسيق dvd_subtitle بتخزين الصور النقطية لكل عنوان فرعي في الفيديو. لذلك، لا توجد طريقة فميغ سوف تكون قادرة على ترجمة الصور النقطية إلى نص.

لهذه المهمة، يجب على المرء أن يلجأ إلى برنامج يستند إلى التعرف الضوئي على الحروف التي تساعد المستخدم مع مهمة تحديد كل عنوان فرعي كنص من إعادة تمثيلها النقطية.

(هناك عنوان فرعي ثانوي يستند إلى نص في الفيديو المصدر، ولكن لا أعرف من أين جاء ومن لا ينظر إليه من قبل اللاعبين الأكثر شعبية.لجميع النوايا والمقاصد، يبدو هذا العنوان الفرعي "mov_text" ليكون عنصرا كعب ، وربما قطعة أثرية للتحويل من دفد الأصلي)


جرب استخدام خيار الخريطة ... إذا كان هناك عدد كبير جدا من الملفات في ملفات الإدخال ....

بناء الجملة سيكون:

فميغ -i video.mp4 -map 0: 4 out.srt

بما أن هناك نوعان من ترجمات العنوان الفرعي في الفيديو الخاص بك، أولا على 0: 3 وهو دفسوبتيتل حتى لا يمكن تحويلها إلى سرت ولذا فإننا سوف تحويل الترجمة الثانوية على 0: 4 تيار وهو mov_text ونسخة لينة من الترجمة بحيث يمكن تحويلها بسهولة. ...


لقد بنيت حلا لهذا بالضبط. هدفي هو استخراج جميع المعلومات المتعلقة بالمسابقات المتاحة على الإنترنت. اعتدت على قرص. ما فعلته هو أنني اكتشفت النمط الذي يتم فيه إدراج المعلومات على مواقع الويب. في حالتي ، تم إدراجها واحدة تلو الأخرى أسفل الترتيب ، اكتشفت أن استخدام علامات الجدول HTML وحصلت على المعلومات المتعلقة بالمسابقات.

على الرغم من أنه حل جيد ، إلا أنه يعمل مع بعض المواقع ، وبالنسبة إلى البعض الآخر ، لن تعمل الشفرة نفسها. ولكن عليك فقط تغيير بعض المعلمات في نفس الكود لجعله يعمل.





ffmpeg extract subtitle srt