Правильні настройки запису Ffmpeg для відтворення файлів у Windows, вбудованих у програвачі?


0

Я використовую Ffmpeg для запису відео на екрані в Windows 10:

ffmpeg -rtbufsize 1500M -f gdigrab -framerate 29.97 -draw_mouse 0 -offset_x 2777 -offset_y 344 -video_size 1280x720 -i desktop -c:v libx264 -vf format=yuv420p -preset ultrafast D:/myvideo.mpg

Якщо я відтворюю записані файли у VLC, вони прекрасно працюють. Якщо я відтворюю їх у вбудованому програвачі Windows Media Player або "Фільми та ТБ", я отримую цей код помилки: 0xc10100be ERROR_INVALID_MODULETYPE

Чи є якісь настройки, які мені потрібно додати до Ffmpeg для використання в Windows?


1
Використовуйте .mp4замість .mpg.
llogan

Вибачте, що щойно я змінив. Також зміна імені файлу на mp4, mpg або mpeg не має ніякої різниці, отримуйте однакову помилку.
Джорджі

1
Ви просто змінили ім’я існуючого файлу, або ви фактично повторно запустили команду з відповідним вихідним ім'ям ( myvideo.mp4)?
llogan

Відповіді:


2

Велика подяка @LordNeckbeard Я забував, що "mpg" файли не є контейнерами типу "mp4". Хороший опис тут .

Отже, частина 1 встановлювала тип вихідного файлу на ".mp4". Це принаймні зупинило збої та помилки, але все ще отримувало чорне відео у програвачах Windows. Частина 2 встановлює формат пікселя на yuv420p. Від сюди :

Кодування для німих гравців

Для роботи в QuickTime та більшості інших плеєрів вам може знадобитися використовувати -vf format = yuv420p (або псевдонім -pix_fmt yuv420p). Ці плеєри підтримують лише рівневий кольоровий простір YUV з кольоровим підвузлом 4: 2: 0 для відео H.264.

Ось команда ffmpeg, яка працює, я впевнений, що вона потребує більшої оптимізації:

ffmpeg -rtbufsize 1500M -f gdigrab -framerate 29.97 -draw_mouse 0 -offset_x 2633 -offset_y 103 -video_size 1280x720 -i desktop -pix_fmt yuv420p -c:v libx264  -preset ultrafast D:/myvideo.mp4
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.