Відповіді:
Залежно від того, як був закодований ваш вихідний файл, розмір файлу може бути неможливим.
ffmpeg -i infile.avi youroutput.mp4
повинен зберігати розміри та швидкість кадру недоторканими під час створення файлу mp4.
ffmpeg -i infile.avi
дасть вам інформацію про вхідний файл - розмір кадру, використані кодеки, бітрейт тощо.
Ви також можете грати з параметрами acodec
та vcodec
при створенні результатів. Пам'ятайте також, що файли mp4 та avi можуть використовувати різні кодеки, а ваш пробіг може змінюватися залежно від того, який кодек ви виберете.
Мене дуже зацікавило перетворення avi-файлів у mp4. Читаючи вашу публікацію, я запам'ятав цю команду ffmpeg:
ffmpeg -i input.avi -strict -2 output.mp4
Команда -strict -2
необхідна кодеком AAC, який є експериментальним, але працює (libaac), якщо додати ці два параметри. Вихідний файл за замовчуванням є високоякісним.
Наскільки я розумію, потрібно замінити avi-контейнер mp4 на один (формально - формат медіафайлів ISO ISO / IEC 14496-12).
якщо запустити таку команду:
ffmpeg -i input.avi -y output.mp4
У такому випадку ffmpeg перекодує елементарні потоки в межах input.avi (cahnge контейнери та повторне кодування є режимом ffmpeg за замовчуванням ). Варто зазначити, що перекодування може погіршити якість зору та / або слуху.
Тому рекомендується відключити повторне кодування за допомогою параметрів кодека " c: v copy c: a copy ":
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4
У наведеному вище випадку ffmpeg просто змінює оболонки (контейнери)
ffprobe -i infile.avi
замістьffmpeg -i infile.avi
отримання інформації, оскільки остання призводить до помилки "Принаймні один вихідний файл повинен бути вказаний".