zalexi |
|
Темы:
17
Сообщения:
185
Участник с: 16 марта 2012
|
немного не успеваю :( Это по F2 появляется в меню.
Нужно умереть молодым и сделать это как можно позже.
|
zalexi |
|
Темы:
17
Сообщения:
185
Участник с: 16 марта 2012
|
Как бы разрешение и битрейты не особо важны, все упирается именно в скорость воспроизведения. Как ее увеличить при кодировании?
Нужно умереть молодым и сделать это как можно позже.
|
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
Ага, ну параметры кодирования понятны:-f mp4 -vcodec h264 -s 852x480 -r 25 -vb 500k -acodec aac -ac 2 -ar 44100 -ab 128k все упирается именно в скорость воспроизведения. Как ее увеличить при кодировании?Вот этим я никогда не занимался. В теории надо на этапе декодирования изменить частоту кадров, затем при кодировании конвертировать до требуемой, напр. 25 к.с. В принципе, то же касается и звука - sox этим занимается, по сути удаляя лишние сэмплы. Разберемся, только давайте завтра. Время позднее. |
zalexi |
|
Темы:
17
Сообщения:
185
Участник с: 16 марта 2012
|
Ок. Только я буду вечером.
Нужно умереть молодым и сделать это как можно позже.
|
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
Ок, только вечером меня не будет. Поэкспериментировал я тут... Для достижения требуемого результата, как и предполагалось, достаточно два раза указать частоту кадров: первый - для ускорения входного потока (обязательно перед входным файлом), второй - как обычно, для установки выходного fps. Например: ffmpeg -r 40 -i 001.flv -f mp4 -vcodec h264 -s 852x480 -r 25 -vb 500k -strict -2 -acodec aac -ac 2 -ar 44100 -ab 128k -y 001.mp4 -strict -2 - разрешает работу "экспериментальному" aac: The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it. add. Хотя нет, звук же тоже надо ускорить! Уберете все, касаемо звука из команды и добавьте -an |
zalexi |
|
Темы:
17
Сообщения:
185
Участник с: 16 марта 2012
|
Благодарю, Aivar! Видео кодируется вроде как с нужной скоростью. Если сделать без настроек звука, вот так: ffmpeg -r 40 -i 001.flv -f mp4 -vcodec h264 -s 852x480 -r 25 -vb 500k -an 001.mp4
Нужно умереть молодым и сделать это как можно позже.
|
zalexi |
|
Темы:
17
Сообщения:
185
Участник с: 16 марта 2012
|
Благодаря помощи Aivar, получился вот такой скрипт:#!/bin/sh -e #============================================================================# # Конвертация видео в группу файлов (в т.ч. ускоренное воспроизведение # # ускорение производится фиксированно в 1.6 раз # #============================================================================# # (C) Denis Smirnov <mithraen@freesource.info> http://mithraen.ru/ # #============================================================================# IN="$1" if [ ! -f "$IN" ]; then exit -1 fi IN=$(realpath "$IN") dir=$(dirname "$IN") cd "$dir" # каталог, куда отправляем результат outdir=${IN%.*} mkdir -p $outdir # делаем копию оригинального файла ln "$IN" $outdir/original # извлекаем звук (конвертируя сразу же в wav) ffmpeg -i "$IN" -vn -y $outdir/in.wav # извлекаем видео ffmpeg -i "$IN" -an -y -vcodec copy $outdir/in.mkv # конвертируем видео в ускоренный вариант и сразу конвертируем в lossless H.264 #avconv -i "$outdir"/in.mkv -vf setpts=0.625*PTS -an \ -vcodec libx264 -pre:v lossless_ultrafast \ "$outdir"/fast.mkv ffmpeg -r 40 -i "$outdir"/in.mkv -f mp4 \ -vcodec h264 -s 852x480 -r 25 -vb 500k \ "$outdir"/fast.mkv # конвертируем аудио в ускоренный формат echo "Audio file converting -- tempo" sox "$outdir"/in.wav "$outdir"/fast.wav tempo 1.6 # конвертируем ускоренное аудио в mp3 sox "$outdir"/fast.wav "$outdir"/fast.mp3 ffmpeg -i "$outdir"/fast.mkv -i "$outdir"/fast.mp3 -acodec copy -vcodec copy "$outdir"/out-fast.mkv - создается дополнительная папка; - имя файла должно быть без пробелов; - выходной файл имеет фиксированное имя out-fast.mkv вместо оригинального имени. В идеале было бы как-то назначить в меню Midnight Commander, вызываемое по клавише F2. Сейчас стоит такой вариант: 9 Видео для Android set %t if [ "%d" = "%D" ]; then echo "Входная и выходная папки должны быть разными" exit 1 fi while [ -n "$1" ]; do ext=`basename "$1"` ext="${ext##*.}" newname=`basename "$1" .$ext`.mp4 ffmpeg -y -i %d/"$1" -f mp4 -vcodec h264 -s wvga -r 25 -b 500k -strict -2 -acodec aac -ac 2 -ar 44100 -ab 128k %D/"$newname" shift done
Нужно умереть молодым и сделать это как можно позже.
|
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
zalexi- если файлов много - неплохая, но бесполезная в данной реализации задумка; - понятное дело: пробелы разделяют параметры, т.е. имя файла из двух слов уже не вписывается в $1; - ... Короче, надо переписать скрипт под ваши потребности. Можно выбрать время и заняться. |
zalexi |
|
Темы:
17
Сообщения:
185
Участник с: 16 марта 2012
|
Aivar Я думаю, что наиболее важным являются параметры кодирования ускоренного звука. Мне и просто командная строка подошла бы, как в самом первом варианте.
Нужно умереть молодым и сделать это как можно позже.
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
- понятное дело: пробелы разделяют параметры, т.е. имя файла из двух слов уже не вписывается в $1;Все прекрасно вписывается. только нужно параметр из нескольких слов писать в кавычках...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |