archiver
> т.е фактически - растягивать и сжимать треки по времени...
Это не нужно. Звук не "растянут" и не "сжат". Он, в одном месте (или в паре - ещё не определил) "зажёван", а после этого места идёт верно, но со сдвигом.
>Попробуйте писать сразу же в рав-форматы, без компрессии "на лету". Кодек для видео - хаффман (huffyuv), кодек для аудио - PCM.wav (pcm_s16le) Если конечно же камера это поддерживает...
Попробую. Хотя, хотелось бы перекодировать сразу... а со звуком отдельно - это хорошая идея.
Я вот думал писать звук вообще отдельным потоком через sox, но что-то у меня не получается... usb-камера, не могу подхватить звук, а ffmpeg вроде захватывает с "hw:1,0"
>Так же обратите внимание на кадровую частоту - некоторые вебкамеры пишут по умолчанию нестандартный фреймрейт - 20, 22 и пр. кадров в секунду... Вам лучше выставить 25 fps
Камера выдаёт 30fps на 720p и 15 на 1080p. 30fps меня, в принципе устраивает.
А вот со звуком... выдаёт "ALSA buffer xrun" ... то время, когда выдаётся это сообщение звук не пишется. А от fps я зависимости пока не обнаружил.
Пользователь решил продолжить мысль 25 Августа 2013, 21:54:55:
archiver
>Так же обратите внимание на функции "пропуска (drop) кадров"
С этим тоже интересно. Само собой, что мне пришлось поступиться немного качеством, но дропов почти нет. Интересно тут то, что вначале дропы были,и момент, когда они пропали вспомнить не удаётся. Сейчас пробую то же на более мощном компе, так вот - там вылезли дропы. Это при том, что относительная нагрузка на проц там меньше, библиотеки вроде бы те же, а параметры кодирования - одинаковые.
Чую, что от освещения зависит...
>Я бы порекомндовал создать вам отдельную тему для этого вопроса
Спасибо за совет. Подумаю над формулировками и создам.
>Ну если это короткие ролики минут по 15 - то задача заметно упрощается...
Да. В основном, до 15 мин. Хотя есть некоторые по 30, но их немного.
>Попробуйте распаковать видеоролик в рав-формат - по той же ссылке в Применении, поработать со звуком по подгонке, а полученный результат - затем упаковать снова, с тем же битрейтом - можно даже средствами ffmpeg - там есть примеры и принципы кодирования...
Всё это несколько упростит вашу задачу, так как устранит проблему с "промежуточными кадрами" и глюками связанными с их ошибками при кодировании...
Да! - ещё одно правило: Если вы сдвигаете звук, включая сдвиги за пределы видео, например < -1000 мс >, то после этого очень желательно обрезать края ролика - или - сегмента на 1000 мс, как в начале так и в конце. Иначе при сложении сигментов у вас снова сдвинется звук относительно видео - и ваши труды могут оказаться напрасными...
Вот за это - спасибо! Буду пробовать. Хотя, всй равно пока ещё не полностью понимаю, что делать, если рассинхрон посередине видео.