← Форум / Инструменты / Кодирование видео в FLV и MP4 (H.264) с помощью FFmpeg
FFmpeg — это набор свободных библиотек, позволяющий кодировать видео в различные форматы. Flash поддерживает чтение видео в стандартах H.263 (FLV) и H.264 (MP4, MOV и т.д.). Рассмотрим, как с помощью FFmpeg кодировать видео в эти форматы.
- Для кодирования понадобится один файл ffmpeg.exe, для Windows последние сборки лежат тут, для *nix информацию о репозитории можно узнать тут.
- Итак, у нас есть файл ffmpeg.exe, кладем его в одну папку вместе с видео, которое будем кодировать. Для операции кодирования нам понадобится bat-файл. Можно создать его в блокноте и назначить расширение bat, можно скачать готовые файлы с примерами и отредактировать в том же блокноте.
- В bat-файле необходимо написать инструкции для программы, например для кодирования в FLV:
ffmpeg -i video.avi -ar 22050 -ab 32k -f flv -b 700k -s 400x300 -y video.flv
где просто перечисляются параметры кодирования:
-i video.avi — исходный файл видео;
-ar 22050 — частота дискретизации звука (должна быть кратна 11кГц);
-ab 32k — битрейт звука;
-ac 1 — количество каналов звука;
-f flv— формат видео на выходе;
-b 800k— битрейт видео;
-r 25 — фреймрейт видео (FPS);
-s 400x300 — размер видео в пикселях;
-g 25 — плотность ключевых кадров (по ним осуществляется перемотка, чем плотнее (1- каждый кадр ключевой) — тем лучше для перемотки, но значительно вырастает размер файла), если значение равно FPS(-r), то ключевой кадр вставляется каждую секунду (так по умолчанию);
-vframes 100 — ограничение на количество кадров видео;
-y — перезаписать файл, если он уже существует;
в конце указываем имя файла, который у нас получится в результате кодирования.
Также можно с помощью инструкций сохранять кадры из видео в jpg.
ffmpeg -i video.flv -an -ss 15 -vframes 1 -s 640x480 -y -f mjpeg screen_640_480.jpg
-ss 15 — кадр будет с 15 секунды
Все поддерживаемые ключи можно узнать так — ffmpeg -h или посмотреть расшифровку -
Кодирование в H.264, где качество сжатия лучше, осуществляется подобным образом,
кодек -vcodec libx264 или -vcodec h264
ffmpeg -i input.avi -vcodec h264 -threads 0 -r 25 -g 50 -b 500k -bt 500k -acodec mp3 -ar 44100 -ab 64k out.mp4
Разные сборки FFmpeg могут отличаться, в интернете можно найти различные конфигурации настроек для разных случаев — возможности программы достаточны широкие.
Ссылки:
- http://ru.wikipedia.org/wiki/FFmpeg — о FFmpeg
- http://itbroadcastanddigitalcinema.com/ffmpeg_howto.html — ключи
- http://sourceforge.net/projects/mplayer-win32/files/FFmpeg/ — cкачать для Windows
- http://ffmpeg.mplayerhq.hu/download.html — скачать для *nix с сайта разработчиков
- http://ffmpeg-php.sourceforge.net/ — связка с PHP
- Статья на Хабре «FFmpeg на каждый день»
Большая просьба делиться своими рабочими конфигурациями настроек в комментариях
uppod | Ссылка на пост (Смотрели 243656) | 07.12.08 21:03 Ответить |
Тестировал производительность на реальных серверах.
Один WindowsXP другой Fedora конфигурации идентичные. Конвертера настроены идентично.
В Windows XP в 5 потоков конвертации 1 фильм снимает часов так за 14.
В Fedora в 10 потоков конвертации 1 фильм снимает практически в риалтайме 1.52 часа.
Вывод: под Linux-ом фильм конвертируется в 14 раз быстрее.
Здесь полностью подробно описано как настроить качественный HDTV-видеохостинг
Настраивал полностью по этой статье.
Например "GoodOk Flash Video FLV Converter" оч даже прилично… "Allok Video to FLV Converter" ещё лучше, доступный интерфейс, понятные меню… "SUPER" очень … ну просто огромный выбор настроек… честно говоря я в нём так и не разобрался… ;-))) единственный плюс этой проги то, что она (по моему) абсолютно бесплатна… ;-))) Предыдущие две условно-бесплатные, кому ооочень нужно могу слить… (с ключиками, естественно) … ;-)))
Fflesh.
заранее спасибо :)
Заранее огромное спасибо.
Ключики присутствуют… ;-)))
буду очень благодарен.
… Кому ещё какие нибудь нужны пишите на мыло выложу.
P. S. По E-mail не высылаю выкладываю на сайт.
В Axara вообще можно выставить любые настройки. Скриншот (_
Ссылки на скачку:
Axara Video Converter (_
Xilisoft Video Converter Platinum (_
[url=
Кому что нужно ещё рисуйте залью. Есть всё, а чего нет, будет.
все проинсталил.
команда: ffmpeg -i Metallica_-_The_Day_That_Never_Comes.avi -f flv -s 320x240 video.flv работает
также как и более подробная
команда: ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320×240 video.flv
видео файл создаётся удачно, со всеми указанными параметрами, за исключением звука, который вобще пропадает …
проблема не в плеер а в кодировании, кто с этим сталкивался ? как звук починить ?
код:
built on Jul 23 2008 22:37:31, gcc: 4.2.3 (Ubuntu 4.2.32ubuntu7)
Input #0, avi, from \Metallica_-_The_Day_That_Never_Comes.avi\:
Duration: 00:08:24.5, start: 0.000000, bitrate: 2918 kb/s
Stream #0.0: Video: msmpeg4v2, yuv420p, 640x360, 23.98 fps(r)
Stream #0.1: Audio: pcm_s16le, 44100 Hz, stereo, 1411 kb/s
Input #1, avi, from \Metallica_-_The_Day_That_Never_Comes.avi\:
Duration: 00:08:24.5, start: 0.000000, bitrate: 2918 kb/s
Stream #1.0: Video: msmpeg4v2, yuv420p, 640x360, 23.98 fps(r)
Stream #1.1: Audio: pcm_s16le, 44100 Hz, stereo, 1411 kb/s
Win XP
Видно что трафик качает но ничего нет на экране
То есть вообще ничего нет на экране. К тому же 4 мб это не так много. У меня ADSL+ 4mbit/c
ffmpeg -i \"%~f1\" -ar 44100 -ac 2 -acodec libmp3lame -ab 96kb -t 00:00:30 -f mp3 -y \"%~n1_sample.mp3\"
pause
Это для MP3. В итоге конвертированный трек на 256килобит и сэмпл 30 секунд на 96 килобит. В TotalCommander например можно указать не полный путь к файлу, а просто дописать его в командную строку к батнику (ctrl+enter). Но потом нужно переместить указатель обратно в папку с батником, чтобы всё работало
1. Я сделал программой SUPER avi -> mp4 (4 мб).
2. Проверил сторонним локальным плеером видео отличное
3. Подсунул uppod не работает. Чего то бескончно качает но видео нет.
4. Конвертнул дополнительно соглсно рекомендациям MP4Box.exe. Эффект тот же.
Flash 10 версии.
Чего не так?
Оcталось конвертнуть ffmpeg avi-> mp4. Других идей нет
Может ли консольная программа MP3 HD конвертировать MP3 в AC3?
mencoder 1.ts -noskip -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800:aspect=1.33:acodec=ac3:abitrate=448 -af channels=6 -ffourcc xvid -o outfile.avi
я правда не знаю твои вкусы и что ты хочешь иметь на выходе…., но вариант проходной.
Сказать честно, то я конечно так не делаю, если мне надо иметь AC3, там надо с каждым каналом повозиться и отрегулировать окружение звука, поэтому я с ним работаю отдельно….
Я пробовал следующие варианты
ffmpeg -i promvar5.avi -vcodec libx264 -threads 0 -r 25 -g 50 -b 500k -bt 500k -acodec mp3 -ar 44100 -ab 64k promvar1.mp4 не работает В библитеке нет libx264
ffmpeg -i promvar5.avi -vcodec h264 -threads 0 -r 25 -g 50 -b 500k -bt 500k -acodec mp3 -ar 44100 -ab 64k promvar1.mp4 не работает В библитеке нет mp3
ffmpeg -y -i promvar5.avi -an -pass 1 -vcodec libx264 -b 120k -maxrate 120k -s 320x208 promvar5.mp4 не работает Нет буферизации
ffmpeg -i promvar5.avi -vcodec libx264 -cqp 1 -intra -coder ac -an promvar5.mp4 не работает Сбой программы
ffmpeg -i promvar5.avi -vcodec libx264 -threads 0 -r 25 -g 50 -b 500k -bt 500k -ar 44100 -ab 64k promvar5.mp4 не работает Сбой программы
Что я делаю не так?
Мой плеер alfayans>
Но смысла работать с плеером не вижу, так как я не смог конвертировать файл avi в mp4. В ссылке я конвертировал с помощью Kindia Video Converter но там не показывает видео видимо не удовлетворяются требования плеера к файлу. Я, следуя Вашим советам, решил конвертировать через ffmpeg и вот такой облом
Спасибо
Варианты есть?
Для кодирования в mp4 также успешно использовали Final Cut Pro
$ ffmpeg -i file.avi -s 480x400 -f flv -ar 22050 -ab 32k -b 786k -y -r 20 file.flv
FFmpeg version r11872+debian_0.svn20080206-17, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libdc1394 --enable-shared --disable-static
libavutil version: 49.6.0
libavcodec version: 51.50.0
libavformat version: 52.7.0
libavdevice version: 52.0.0
built on Feb 10 2009 09:02:45, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (24000/1001)
Input #0, avi, from \'file.avi\':
Duration: 01:37:44.8, start: 0.000000, bitrate: 2005 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 704x400 [PAR 1:1 DAR 44:25], 23.98 tb(r)
Stream #0.1: Audio: ac3, 48000 Hz, 5:1, 448 kb/s
Output #0, flv, to \'file.flv\':
Stream #0.0: Video: flv, yuv420p, 480x400 [PAR 22:15 DAR 44:25], q=2-31, 786 kb/s, 20.00 tb(c)
Stream #0.1: Audio: adpcm_swf, 22050 Hz, 5:1, 32 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height
Поддержка ac3 и adpcm_swf включена:
$ ffmpeg -formats
DE ac3 raw ac3
DEA ac3
DEA adpcm_swf
В чем бага?
Если оставляем многоканальный, то параметры для audio пишим так: acodec copy, если гоним в двухканальный то надо указать каким audio кодеком кодируем и указываем -> ac 2
Error while opening encoder for output stream #0.0 maybe incorrect parameters such as bit_rate, rate, width or height
Кстати она вроде и в MP4 может конвертировать
в бате под настройками напиши pause, чтоб прочитаь смог, а то не успеешь….
Парни, подскажите, как пакетно одним батником, переконвертировать все файлы? Возможно ли это вообще?
ffmpeg -i \"???\" -ar 22050 -ab 32k -f flv -b 128k -s 400x300 -y \"???\"
Что вставить вместо \"???\"
С этого сайта можно скачать прогу для конвертации
с одной стороны я тебя понимаю, да, когда работаешь с исходными данными и контролируешь весь процесс и параметры …
Пока кодится фильм/ролик в обычной проге-конверторе, например Axara Video Converter v3.7.9 (
А вот смотря на ваши листинги … например (mastedm 28.05.09 15:43 пост#53) …. и представляя, что чувствует человек далёкий от этого … которому нужно просто и быстро откодить ролик …..
Очень прошу простой пример на (PHP для Mencoder).
Пробуйте, обязательно получится…..
По внимательней ознакомтесь со страницей…. там еще предлагают дополнительные ссылки, когда распакуете, то найдете руководство по использованию FFMPEG там много чего интересного…. по скриптам… (там все на английском, но на уровне обычный средней школы)
Возьмем к примеру шаблон настроек енкодера по-максимому….. -libx264-max.ffpreset-
не забываем прописать битрейт, разрешение и другую дополнительную команду с вашим вкусом (я, к примеру указал 400х300рх), не забудьте определиться и с кодированием звука (по умолчанию ААС), я впилил МР3LAME
Конечный скрипт:
ffmpeg -i 1.ts -vcodec libx264 -vpre \"C:\…. пишим путь……\ffpresets/libx264-max.ffpreset\" -b 2900k -s 400x300 -acodec libmp3lame -ab 128k out.mp4
Скорость кодирования меня не впечатлила, но качеством остался доволен…., также приятно было услышать синхронизацию звука с видео….
Насколько я понял.., FFMPEG здесь рассматривается, как инструмент для создания своего видео и загрузки на сайт (или что-то в этом роде)…, я же смотрю на него, как на кодировщика, обладающий очень большими преимуществами в сравнении с графическими оболочками…
Одно преимущство, что весят они очень и очень мало дает уверенность ими заниматься…, да к тому же они бесплатны, а форматы читают и кодирует во все известные….
я тоже раньше так думал, пока не услышал, что _на_самом_деле_ говорят оригинальные актеры и какую жесть выдают наши профессиональные актеры) если бы режиссеры это слышали, они бы застрелились…
ffmpeg -i 1.mpg -vcodec libxvid -aspect 1.3333 -cropleft 2 -croptop 8 -cropright 2 -cropbottom 6 -b 900k -deinterlace -s 384x288 -g 250 -bf 1 -an Outfile.avi
Кодек употребил XviD, но можно записать и так -> -vcodec mpeg4 -vtag xvid <- (разницы не почувствовал, инфа одна и та же)
Если загружать FFMPEG -> AviSynth\ом, то возможности у нас утраиваются, т.к. у него очень хорошие плагины\фильтры по обработке видео.
Обновить можно через программу TortoiseSVN:
svn checkout svn://svn.ffmpeg.org/soc/libavfilter
Вот примеры:
ffmpeg -i in.avi -vfilters \"crop=0:0:0:240\" out.avi
ffmpeg -i in.avi -vfilters \"vflip\" out.avi
После мучительных экспериментов, спешу поделиться своим наработанным….. итак:
Для первого прохода пишим такой скрипт на примере все того же XviD\"a. Обратите внимание на последние строчки после pass 1 их мы не меняем это стандарт, все остальное можете менять по своему вкусу. ->
ffmpeg -i 1.ts -an -vcodec mpeg4 -vtag xvid -aspect 1.3333 -s 512x384 -b 900k -pass 1 -f rawvideo -y NUL -passlogfile ffmpeg2pass
Получаем текстовый файл \"ffmpeg2pass-0.log\", в котором находятся статические данные о видео, дальше… пишим второй проход и выполняем:
ffmpeg -i 1.ts -an -vcodec mpeg4 -vtag xvid -aspect 1.3333 -s 512x384 -b 900k -pass 2 -y outfile.avi
Все…. конечный файл -> outfile.avi
В первом проходе можете не указывать битрейт, только обязательно во-втором, звук я вырубил, поэтому кодируем только видео.
ffmpeg -i 1.ts -an -vcodec mpeg4 -vtag xvid -aspect 1.3333 -s 512x384 -bt 4000k -pass 1 -f rawvideo -y NUL
Во-втором проходе, как обычно…. ->
ffmpeg -i 1.ts -an -vcodec mpeg4 -vtag xvid -aspect 1.3333 -s 512x384 -b 1200k -pass 2 -y outfile.avi
Вот тогда получите свой файл с точноуказанным битрейтом, в данном случае 1200k, ни больше-ни меньше…
Синтакс -> passlogfile ffmpeg2pass можете не писать, файл *.log и без него создается.
и возможно ли сделать что бы кодирование копировало качество файла, но естественно уменьшало т.к. flv
В случае кодирования с AAC нужно использовать сборку ffmpeg от конца апреля 2009, потому как в последующих версиях libfaac исключен из сборок за нарушение лицензии.
А альтернативного кодера AAC до сих пор нет, вроде как.
З.Ы. Можно делать remux mp4 файлов (H264) в flv, без рекода:
ffmpeg -i input.mp4 -vcodec copy -acodec copy output.flv
Кстати, именно так кодирует YouTube, на сколько я понял…
Я ознакомился с сайтом….., плохого ничего сказать не могу, но и хорошего также…. оформление сайта оставляет желать лучшего, все в общих чертах, о которых каждый уже давно знает, кто заинтересовался FFMpeg\oм, да и примеры примитивные, конечно можно всем отправится туда и развивать их ресурс, а можно остаться здесь и помочь развитию этой темы нашим авторам…. (пока они там дойдут до двух-проходного кодирования…, я уже выложил его здесь…. для Windows\a)
Вот пример:
ffmpeg -i test1.avi -i test2.avi -vcodec copy -acodec copy -vcodec copy -acodec copy test12.avi -newvideo -newaudio
Два слова. что мы при этом получим…. а получим слоеный \"пирог\", даже и не думайте. что у вас эти файлы будут проигрываться последовательно….., НЕТ, такого не будет….. будете смотреть к примеру первый фильм, а второй тоже в это время будет крутиться, но вы его не увидите…., только если переключитесь на него….
В Mplayer\e > (Shift + _). Удобно то, что размер выходного файла не суммируется из впихнутых в него фильмов, а что-то будет среднее….. (экономия дискового пространства)
ffmpeg -i infile.avi -vcodec copy -i 1.mp3 -acodec copy -y outfile.avi
Есть mp4 файл, у которого странным образом проявляется рассинхрон звука.
логин и пароль: uppod
Если включить файл с самого начала, рассинхрон есть.
А если воспользоваться функцией псевдостриминга он пропадает.
Скачивал файл на компьютер, смотрится отлично, никакого рассинхрона.
Исходник (avi) тоже отличного качества. Мистика!
Данная проблема появилась относительно недавно и мы никак не можем отследить зависимость…
662 MB это размер mp4 (2 ch) файл для просмотра, конвертируемый
проверил еще раз, рассинхрон никуда не делся(
посмотрел уже с 6 компов, хотя если скачать этот mp4 и запустить его на компьютере всё отлично(
видимо это может быть связано с методом отдачи, хотя почему тогда другие mp4 отдаются хорошо (без рассинхрона) не понятно…
Дело не в формате, месяц назад таких проблем не было…(
Или перенесите метаданные, это достаточно просто
ffmpeg -i 1.m2v -skip_frame none -sameq -vcodec mpeg4 -mbd rd -flags +4mv+aic+umv+mv0 -trellis 2 -cmp 2 -subcmp 2 -bf 2 -g 250 -aspect 1.3333 -s 720x540 -r 25 -f mp4 -y file.mp4
Сам пользуюсь этим, предварительно расщипив на потоки: аудио и видео….
ffmpeg -i file.avi -ab 56 -ar 44100 -g 5 -b 600K -r 15 -s 320x240 -f flv file.flv
и ничего не выходит
ffmpeg -i file.avi -ab 56 -ar 44100 -g 5 -b 600K -r 15 -s 320x240 -metadata title=\"Пишишь сюда свой текст\" -f flv -y file.flv
по-моему многовато будет битрейта для flv, там -b 400к вполне хватит
мне нужно чтобы было хорошее качество и небольшой размер. размер 640*480, звук 64kbps
ffmpeg -y -i pau1.mpg -pass 1 -vcodec libx264 -b 500k -s 480x320 -bf 3 -refs 6 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp +chroma -me_range 16 -me_method umh -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -directpred 3 -flags2 +dct8x8+wpred+bpyramid+mixed_refs -trellis 1 -partitions +parti8x8+parti4x4+partp8x8+partp4x4+partb8x8 -acodec libmp3lame -ar 44100 -ab 96k output.mp4
ffmpeg -y -i pau1.mpg -pass 2 -vcodec libx264 -b 500k -s 480x320 -bf 3 -refs 6 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp +chroma -me_range 16 -me_method umh -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -directpred 3 -flags2 +dct8x8+wpred+bpyramid+mixed_refs -trellis 1 -partitions +parti8x8+parti4x4+partp8x8+partp4x4+partb8x8 -acodec libmp3lame -ar 44100 -ab 96k output.mp4
pause
Потом заливаю на dropbox. Вставляю на сайт, видео идеи, а звука нет. На компе проверяю файл звук есть… почему тогда в плеере нет звука?
\"MP4Box.exe\" -add \"Untitled.mp4\" -inter \"500\" -tmp temp/ \"2222222.mp4\"
Может конечно в них не хватает чего? принудительный формат указал, звука в плеере нет …
Добавил -acodec aac -ac 1, пробовал менять -ac на значения 2, 6 … но звук получается мягко говоря не очень …
Примерный код, который сейчас:
-r 25 -b 800kb/s -ar 44100 -ab 128 -f flv -s 320x240 -aspect 4:3 -y
пробовал вставлять -g 25
не помогает
Подскажите, кто уже собирал, думаю проблема такая встречается часто и актуальна
2. Выставлял разные битрейты и размер видео качество через ffmpeg получается хуже, чем через тот же \"Allok vidio to FLV converter\" с битрейтом выставленным ниже. Понятно что нужно правильно выставить все выходные параметры. Пожалуйста напишите строку для конвертации из avi, mp4 в flv. применяя кодек h264? У меня входящий файл 400х272 в 22mb. Хотелось бы чтобы качество осталось неизменным, ну а размер не более оригинала. Заранее благодарен за ответ. Или можно на почту DBorzenkov@gmail.com
Нужна помощь! Использую последние сборки ffmpeg.
1. Качество в кадрах содержащее движение никуда не годится!
Двухпроходное кодирование особого прироста качества при приемлемом размере почему то не дает.
2. Кодер почему то игнорирует настройки ratio.
То есть к примеру, кадр формата 16:9 он сжимает как 4:3 ни смотря ни на что.
Разрешение прописываю правильное. Ratio тоже. Но игнорит и все тут!
ffmpeg -i input.vob -vcodec flv -b 750kb -s 352x288 -aspect 16:9 -acodec libmp3lame -ab 128kb -ar 44100 output.flv
З.Ы. Кто пробовал "обмануть" flash плеер vkontakte? Я имею в виду кодирование в flv используя h264.
У меня не получилось. По ходу он как то детектит формат видео и все равно конвертит его в h263.
народ подскажите почему не записываются мета данные я делаю так
ffmpeg -i file.avi -ab 56 -ar 44100 -g 5 -b 600K -r 15 -s 320x240 -metadata title="Пишишь сюда свой текст" -f flv -y file.flv
но данные не записываются
Здесь лежит бесплатный кодировщик в H264, несколько предустановок! хорошо кодирует.
Есть условно бесплатные кодировщики, наберите в поиске в яндексе "H264 encoder", и будет вам счастье. Много чсего найдете в том числе и с ключиками…
с помощью FFmpeg. Хочу, чтобы было хорошее качество размером 470 на 264 звук 64kbps. Никак не могу разобраться какие цифры ставить в настройки:
ffmpeg -i . escapeshellarg($file) . // исходный файл видео;
-f flv . // формат видео на выходе
-y . // перезаписать файл, если он уже существует;
-s 470x264 . // размер видео в пикселях (WxH or abbreviation)
-acodec libmp3lame . // force audio codec
-ar 22050 . // частота дискретизации звука (должна быть кратна 11кГц)
-ab 32k . // битрейт звука
-ac 1 . // количество каналов звука
-r 25 . // фреймрейт видео (FPS)
-g 25 . // плотность ключевых кадров
Те, что стоят сейчас, сильно снижают качество видео. Как разобраться?
Я уже скачал libavcodec.dll и pthreadGC2.dll, положил их и в папку с программой, и в system32…
Никакого толку! Что делать-то?
ссылка" rel="nofollow">ссылка</a>
распакуй и всё содержимое положи в свою папку с ffmpeg. всё получится.
так как по умолчанию стоит дорожка 1 eng а мне нужна 2 rus
как то так, поиграйся с параметрами map
ffmpeg -i input.mkv -map 0:0 -map 0:2 -vcodec libx264 -vpre hq -b 512k -bt 512k -acodec libfaac -ab 128k -ar 44100 -ac 2 output.mp4
как вариант, можно указывать аббривеатуру (cif, qvga, vga и т.п.) типа -s vga , но 512 такого стандарта разрешения нету. Стандарты вот :
`sqcif
128x96
`qcif
176x144
`cif
352x288
`4cif
704x576
`16cif
1408x1152
`qqvga
160x120
`qvga
320x240
`vga
640x480
`svga
800x600
`xga
1024x768
`uxga
1600x1200
`qxga
2048x1536
`sxga
1280x1024
`qsxga
2560x2048
`hsxga
5120x4096
`wvga
852x480
`wxga
1366x768
`wsxga
1600x1024
`wuxga
1920x1200
`woxga
2560x1600
`wqsxga
3200x2048
`wquxga
3840x2400
`whsxga
6400x4096
`whuxga
7680x4800
`cga
320x200
`ega
640x350
`hd480
852x480
`hd720
1280x720
`hd1080
1920x1080
ffmpeg -i InVideo.avi -vcodec libx264 -g 50 -b 800k -bt 800k -vpre D:…\ffpresets\libx264-hq.ffpreset -acodec libfaac -ac 2 -ar 44100 -ab 128k OutVideo.mp4
Увидиш разницу
ls /usr/share/ffmpeg
libx264-baseline.ffpreset
libx264-ipod640.ffpreset
libx264-medium.ffpreset
libx264-slowfirstpass.ffpreset
libx264-default.ffpreset
libx264-lossless_fast.ffpreset…
указываем -vpre baseline (или ipod640, medium, slowfirstpass, default, lossless_fast и т.д…)
По идее и под вендой работать должно
К стати, вопрос по линуксу, такая интересная история у меня выходит, как бы всё кодируется без ошибок, файл появляется но при попытке воспроизвести его ни изображения ни звука нет. Что можете посоветовать?
И ещё раз повторюсь с вопросом, писал выше, (пост 178).
#178 Тут нужно определиться, какой тип субтитров используется, хардсабы (намертво вшитые в картинку) или софт (в виде потока, отключаемые). С первым типом уже ничо не сделаеш, насчот второго можно на поток субтитров внимания не обращать, ибо ffmpeg по дефолту оставляет один видео и один аудио поток, если нужно больше необходимо использовать маппинг
как получить фаил с такими параметрами ?
Complete name : йцукен.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 107 MiB
Duration : 21mn 21s
Overall bit rate : 700 Kbps
Encoded date : UTC 2010-09-18 10:35:40
Tagged date : UTC 2010-09-18 10:35:40
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.0
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 21mn 21s
Bit rate mode : Variable
Bit rate : 498 Kbps
Maximum bit rate : 2 521 Kbps
Width : 800 pixels
Height : 450 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.058
Stream size : 76.1 MiB (71%)
Encoded date : UTC 2010-09-18 10:35:40
Tagged date : UTC 2010-09-18 10:35:48
Audio
ID : 3
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 21mn 21s
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 104 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Stream size : 14.9 MiB (14%)
Encoded date : UTC 2010-09-18 10:35:48
Tagged date : UTC 2010-09-18 10:35:48
У меня последний ffmpeg. batы из примера не работают. Вообще постоянно вываливаются разные ошибки.
Спасибо.
ffmpeg -i xvid.avi -vcodec libx264 -g 50 -b 384k -bt 384k -acodec libfaac -ac 2 -ar 44100 -ab 128k OutVideo.mp4
ffmpeg -i xvid.avi -vcodec libx264 -g 50 -b 384k -bt 384k -acodec libfaac -ac 2 -ar 44100 -ab 128k OutVideo.mp4
На всех трёх файлах два аудиоканала. Звук только на втором. При любых настройках на выходе получаю один или два канала без звука. При перегоне по одному файлу без склеивания получаю норм. звук на второй дороге…
Вопрос как кодированить в ffmpeg по очеререди все файлы в папке, в crren чтобы закрыть консоль а оно дальше все колбасило…
Посмотри на мой проект. Он и обработывает видео из папки, перепаковывает.
----
Т.е. грузимся с диска, флэшки, поднимается ftp сервер. Туда закидываем VOB и потом скачиваем avi
P.S. там можно увидеть как используется ffpmeg, normalize (для нормализации звука) и mencoder !
Тоесть в результате все работает, но все посетители сайта ждут пока обработается это видео)
ffmpeg -i input.avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -crf 22 -threads 0 output.mp4
Далее прогоняю файл через MP4Box добавляю метаданные в начало.
Проблема такая что если файл 300 400 мегабайт то все перемотка работает нормально, если он 700 и выше то фильм показывает но при нажатие на перемотку пишет что файл не найден??
Формат видео flv
видео кодек libx264
аудио кодек libmp3lame
частота звука 44100
битрейт видео 312к
битрейт аудио 64к
количество каналов 2
фремрейт видео 23.976 (если возможно по умалчанию)
размер видео 720x304 (если возможно по умалчанию)
количество ядер компа 6
Буду очень благодарен
на какой файл нажимать для скачивания?
[IMG]
в чём ошибка?
помогите
научите конвертировать фильмы в flv для кинотеатра онлайн — плачу 10$
У меня такая проблема: есть прога (по изуч. Английского) которая читает видеофайлы формата .mov , так вот часть файлов нечаяно удалил. Скачал их в другом формате .mp4 в инете. Пытался их перекодировать с помощью FFmpeg в .mov, всё получилось однако файлы ни читаются этой прогой (по изуч. Английского). Думаю, что проблема в параметрах. Данные файла, который читается такие:
Duration: 00:01:50.2, start: 0.000000, bitrate: 680 kb/s
Stream #0.0(eng): Video: svq1, yuv410p, 320x240, 15.00 fps(r)
Stream #0.1(eng): Audio: mp2. 44100 Hz, stereo
Stream #0.2(eng): Data: text / 0x74786574
Короче помогите написать код в файле .bat, чтобы контертнуть в формат .mov с такими же параметрами файл .mp4
Заранее благодарен!!!
#!/bin/bash
#Сюда сыпим файлы
video_folder="/home/nikkz/do/"
#В этом каталоге отконвертированные
films_folder="/home/nikkz/posle/"
#Размер окна
resolution="1280x720"
# от и до
for i in $video_folder/*.*
do
i=$(echo $i | sed s/.mkv// | sed s%^.*/%%)
if [ ! -e "${films_folder}$i.mp4" ]
then
echo "Converting "$i
ffmpeg -i ${video_folder}$i -acodec aac -strict experimental -ab 128k -ac 2 -vcodec libx264 -b 1200k -s $resolution -r 50 -threads 0 ${films_folder}$i.mp4
fi
done