LINUX.ORG.RU

Кодирование видео


1

1

Есть исходники тут: http://www.inp.nsk.su/students/theor/videolectures/videolectures.html

Цель (одна из): перекодировать и немножко модифицировать, чтобы уменьшить размер исходных файлов для удобного скачивания.

Что нужно сделать (как я это понимаю):

  • ужать
  • повысить уровень звука
  • добавить статическую картинку с кратким описанием в начале
  • сделать это из командной строки

Ткните пожалуйста носом в инструкцию по созданию такой строчки.

Сопутствующие вопросы:

  • Какой лучше формат видео выбрать?
  • Какой формат использует google по умолчанию?
★★★★★

Последнее исправление: Evgueni (всего исправлений: 1)

ужать

ffmpeg -i input.file -b:v $BITRATE_BITS_PER_SECOND output.file

повысить уровень звука

ffmpeg -i input.file -filter:a volume=volume=$VOLUME output.file

вместо $VOLUME ставишь дробное число больше 1.0, по вкусу

добавить статическую картинку с кратким описанием в начале

Сначала делаешь видяшку из картинки

ffmpeg -loop 1 -framerate $FPS -i splash.png -t $DURATION intro.file

потом склеиваешь с видевом как-то так

echo -e "ffconcat version 1.0\n file intro.file\n file video.file" | ffmpeg -f concat -i - merged.file

Ткните пожалуйста носом в инструкцию по созданию такой строчки.

каждый ... как он хочет, можешь почитать какие-нибудь «как я сделал...» на эту тему. А можешь долго и нудно курить мануалы по ffmpeg.

Какой лучше формат видео выбрать?

Хорошие видеокодеки - h264 (название енкодера в ffmpeg - libx264), mpeg4, можешь попробовать vp9 (libvpx_vp9). Аудиокодек - aac и другие. Медиаконтейнер в твоём случае не критичен, выбирай любой, который поддерживает кодеки, которые ты хочешь. Например, mpeg4, mkv, webm (работает только с vp8/9).

Какой формат использует google по умолчанию?

ХЗ. Ютуб, возможно, в любом случае всё транскодит. А точно никто не скажет.

Krieger_Od ★★
()

Думаю оптимально будет взять видео, закодить двухпроходно в vp8(можно vp9), звук в 128kb/s ogg и затолкать все в mkv.

AoD314
()
Ответ на: комментарий от AoD314

А виндовый плэер это схавает?

Мне-то всё равно, но цель, чтобы посмотреть можно было без приседаний максимальному количеству людей.

Evgueni ★★★★★
() автор топика
Ответ на: комментарий от Evgueni

vlc и Media Player Classic должны без проблем!!! Все останольное - не плееры!

AoD314
()

Кодируем звуковую дорожку отдельно и усиливаем звук в 4 раза:

ffmpeg -threads 8 -i CHAOS_Zjirov_Lecture_04.1-05-06-2014.mts -vn -c:a opus -b:a 64k -filter:a volume=volume=4.0 test_64.ogg

Отдельно кодируем видео в два прохода:

ffmpeg -threads 8 -i CHAOS_Zjirov_Lecture_04.1-05-06-2014.mts  -pass 1 -y -an -vf "yadif=1:0" -preset veryslow -s 1280x720 -c:v libx264 -b:v 1200k test.h264

ffmpeg -threads 8 -i CHAOS_Zjirov_Lecture_04.1-05-06-2014.mts  -pass 2 -y -an -vf "yadif=1:0" -preset veryslow -s 1280x720 -c:v libx264 -b:v 1200k test.h264

Мержим:

mkvmerge -o test.mkv test.h264 test_64.ogg

У меня вроде нормально получилось.

AoD314
()
Ответ на: комментарий от AoD314

кодируем видео в два прохода

Объяснишь, откуда оно возьмёт информацию по первому проходу?

anonymous
()
Ответ на: комментарий от anonymous
ffmpeg -i input_video -pass 1 ...

Вначале запускаем ffmpeg первым проходом. Он проходит по видео и сохраняется для себя(в файл ffmpeg2pass-0.log) информацию о видео в целом.

И уже при втором проходе использует эту информацию, чтобы сжать видео еще лучше.

AoD314
()
Ответ на: комментарий от Krieger_Od

ffmpeg активно сообщает, что он устарел и нужно использовать avconv. На сколько это должно беспокоить?

Evgueni ★★★★★
() автор топика
Ответ на: комментарий от Evgueni

ffmpeg активно сообщает, что он устарел и нужно использовать avconv

если НЕ РАБОТАЕТ, то скачайте и соберите вручную последний релиз ffmpeg. Можете погуглить историю форка libav.org, чтобы разобраться в подоплёке такого сообщения.

Krieger_Od ★★
()
Ответ на: комментарий от Evgueni

А виндовый плэер это схавает?

Кодируй сразу в webm, его скоро разве что в микроволновках не будет.

anonymous
()

Есть исходники тут: http://www.inp.nsk.su/students/theor/videolectures/videolectures.html

Видео — это хорошо (наверное…), но и с сайтом разобраться не помешало бы: по ссылке FullHD PNG о двух мегабайтах выводится в танковую щель 780×420; хорошо, хоть If-Modified-Since понимаете.

ksa242
()
Ответ на: комментарий от Evgueni

Это все грязные инсинуации! ffmpeg жевее всех живых и развивается активнее всяких там форков(avconv)

AoD314
()
Ответ на: комментарий от AoD314

Возникло две проблемы

а) -c:a opus отсутствует поменял на -c:a ac3 (также пробовал copy)

б) При использовании mkvmerge видео замедляется. Со звуком проблем нет.

Evgueni ★★★★★
() автор топика
Ответ на: комментарий от AoD314

Я поставил в соответствии с инструкцииями с сайта ffmpeg. Правда для ubuntu 12.04 ppa-репозиторий там только для ffmpeg 0.10.12. Это критично?

Evgueni ★★★★★
() автор топика
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

opus - предназначен для передачи голоса по сети в реальном времени, поэтому 64kbit/s это с избытком. Для mp3 полагаю, необходимо поднять до 128.

AoD314
()
Ответ на: комментарий от Evgueni

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

ffmpeg -loop 1 -framerate $FPS -i splash.png -f lavfi aevalsrc=0 -t $DURATION intro.file

Krieger_Od ★★
()
Ответ на: комментарий от Krieger_Od

Здравствуйте друзья. Я очень дико извиняюсь, что пишу в этот форум, но просто не к кому обратиться. Где-то похожую тему видел в интернете на форумах, но уже древняя. К кому обратиться не знаю. Сижу уже неделю над проблемой, мозги вскипают от обилия информации, но всё-равно топчусь на месте. Мне хотя бы движение в верном направлении получить. Может ссылками поможете или хотя бы литературу посоветуете? С Линуксом знаком давно, но вот работать с видео доводилось редко. А ситуация действительно не простая. Если в двух словах, то у меня с карты видеорегистратора работники одной очень известной в нашей стране структуры удалили часть видеофайлов. Первый раз попал в такую ситуацию если честно. Понадеялся на их честность и отдал им видеорегистратор. Ну и как водится, получив его обратно нужных там файлов не обнаружил. Каким образом они их удаляли не знаю. Молчат как рыба об лёд, делают глупые лица, что мол ничего не записалось и т.п., но mc показывает пустые скрытые папки созданные ОС Андроид. Но не в этом суть. Файлы как мне кажется целы и я их восстановил с помощью photorec, но восстановились даже часть не стёртых не корректно. По объёму они примерно такие как и должны быть, но проигрывателями не воспроизводятся. Смотрю их через mediainfo так у тех, которые воспроизводятся параметров туча, а у тех которые не воспроизводятся mediainfo показывает только первые несколько. Предполагаю, что нужно просто тупо перезаписать в нерабочие файлы параметры из рабочих, но я не знаю как это сделать. Помогите пожалуйста если можете. Хотя бы направить в верном направлении. Спасибо.

phantom9122
()
Ответ на: комментарий от Krieger_Od

Я думал, что возможно здесь кто-то есть. Но если нет, то извиняюсь. Не судите строго.

phantom9122
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.