2012-04-30 6 views
2

Я пытаюсь преобразовать видеофайл MP4 в файл видео f4v, чтобы я мог передавать видео с помощью Flash Media Server. В идеале, я хотел бы преобразовать mp4 в различные битрейты, чтобы я мог выполнить потоковое видео с несколькими битрейтами. Я уверен, что ffmpeg способен на это, но я продолжаю получать разные сообщения об ошибках. Вот последняя, ​​что я пробовал:Как преобразовать видеофайл MP4 в F4V с помощью FFMPEG

ffmpeg.exe -i source.mp4 -ar 150 destination.f4v 

Я получаю следующее сообщение об ошибке с этим: «Не удалось найти подходящий формат вывода„“destination.mp4 destination.mp4: недопустимый аргумент

Спасибо заранее

ответ

5

несколько замечаний:!.

  1. файл MP4 является уже подходит для потоковой передачи, при условии, что она содержит H.264 для видео и AAC для аудио source.mp4 уже H.264/AAC ? Если поэтому нет необходимости перекодировать на F4V. Говоря о F4V ...
  2. F4V - это всего лишь MP4-файл с видео H.264 и аудио AAC. Просто появляется расширение файла, предлагаемое Adobe для Flash-видео. Ничего особенного.
  3. «-ар 150» почти наверняка не то, что вы хотите - это подразумевает 150 Гц. Аудио CD-качество составляет 44100 Гц. Вы имели в виду «-ab», чтобы стереть битрейт? Имейте в виду, что это выражено в бит/секунду, а 150 все равно будет слишком низким.
  4. Вы скопировали и ввели сообщение об ошибке напрямую? Потому что вы указали вывод «destination.f4v», в то время как ошибка упоминает «destination.mp4». Я не могу объяснить это несоответствие. Возможно, пересмотреть вопрос с полным выходом ошибки.
3

Во-первых, .f4v не является официальным расширением формата видео F4V, по крайней мере, в глазах ffmpeg.

Если вы хотите передать файл mp4, некоторые реализации флеш-плееров позволят вам искать место, которое еще не загружено. Обычным разрешением является преобразование (фактически просто переупаковка) этих файлов в контейнер f4v.

Для преобразования F4V, который совместим с потоковым, вы должны использовать инжектор FLV метаданных, таких как Yamdi (http://yamdi.sourceforge.net/)

шаги вы можете предпринять:

ffmpeg.exe -i source.mp4 -vcodec copy -acodec copy destination.flv 

Это переупаковка видео и аудио непосредственно в файл FLV. FFMPEG будет автоматически использовать формат f4v, если ваш вход H.264.

yamdi -i destination.flv -o destination.f4v 

После вставки метаданных ваш файл f4v теперь готов для потоковой передачи. Если вы опустите этот последний шаг, вы можете перейти только к частям, где был загружен файл.

FYI, если вы можете поддерживать переменные битрейты, используйте параметр -crf. Двухпроходное кодирование даст битрейт, близкий к указанному вами битрейту, но займет в два раза больше времени. Постоянный коэффициент скорости, хотя и даст вам постоянное качество, но вам, вероятно, придется тестировать различные значения (разумные для непостижимых потерь: 18 - 24), чтобы получить требуемый бит.

Смежные вопросы