Показать сообщение отдельно
Старый 23.06.2007, 21:26 Вверх     #10
AlexStorm
Свой Человек
 
Аватар для AlexStorm
 
   Возраст: 66
Регистрация: 11.06.2006
Был(а) у нас: 24.11.2020 08:23
Сообщений: 16,544

Пол: Мужской
По умолчанию

Урок 9-й. Как получить видео-файл заданного размера.

Простой и важный урок. Его можно считать дополнением к уроку №2. Тут тоже главное - внимательность!

Задача: Научится получать файл заданного размера.
Цель: Понять зависимость соотношения видео и аудио битрейтов и влияние их значений на конечный размер видео-файла после перекодирования.
Что нам потребуется: Конечно же сам VirtualDub и AVIcodec

Вопрос: Зачем нам менять размер файла? Ну скачали и скачали, какая разница?
Ответ: В первую очередь это касается релизёров, т.е. людей ОТДАЮЩИХ Вам файлы или, проще говоря, людей ОТ КОТОРЫХ Вы качаете эти файлы. Не забывайте, что очень много людей не имеют "анлим"-соединения и тянут файлы модемами! Поэтому НЕОПРАВДАНО увеличивая размер файла, Вы заставляете людей тянуть его незаслуженно долго, отнимая время и деньги за пользование трафиком.

И так...
Пример:
Я взял оправданно тяжёлый видео-файл продолжительностью около 2-х часов, но часто встречается, что при продолжительности полтора и менее часа раздаются файлы с ИГРОВЫМ кино (не музыкой!) размером 1400Мb. Что, с моей точки зрения, ЧАЩЕ всего - неоправдано.

Да, ещё одно пояснение! Тут я буду для экономии времени использовать картинки и из 2-го урока тоже. "Попрошу пардону" за это.

Мы возьмём большой файл, почти 1400Мb, что встречается довольно часто.
Рассмотрим файл в программе AVIcodec



Что мы видим?
Файл : 1.36 GB (1.36 GB), продолжительность: 1.50.07, тип: AVI, 1 аудио поток(ов), качество: 76 %
Видео : занимает 1.02 GB, с битрейтом (!) 1331 Kbps, 25.0 fps, при разрешение 720*304, XVID = XVID Mpeg-4, Поддерживается
Аудио : занимает (!) 352 MB, с битрейтом (!) 448 Kbps, (Это что, ОПЕРА? Простой игровой фильм!) частота 48000 Hz, кодек 6 каналов, 0x2000 = AC-3 ACM Codec, Поддерживается

Вывод: Мы имеем ЗАВЫШЕННЫЕ (имхо) битрейты аудио и видео потоков, что, в результате, сказывается на увеличении размера видео-файла.
Как же нужно ПРАВИЛЬНО рассчитать нужные значения и вводить результаты в программу VirtualDub?

Итак...
Загружаем фильм в VirtualDub
File---> Open video file---> выбираем фильм --> Открыть

Аудио битрейт

Шаг 1
Закладка Audio, отмечаем Full processing mode, Sourse audio.
Жмём Compression



Выбираем нужный кодек Lame MP3 дающий наиболее качественный звук.
Но что такое, в полях со списком вариантов битрейтов мы видим пустое место!!!



Этот "эффект" можно часто наблюдать при перекодировании 5-ти или 6-ти канального звука.
С 2-х канальным звуковым потоком таких "чудес" не происходит.
Как же нам выбрать нужное значение если и выбрать-то не из чего?

Спокойно! Есть три варианта решения этой задачи:

1-е решение.
Выбираем верхнее в списке кодеков (снимок выше) значение <NO CONPRESSION (PCM)>, затем заходим File---> Save WAV и на выходе мы получим откодированный в PCM аудиопоток качеством WAV в стерео. Затем его можно присоединить, к нашему видео. Для этого нужно в закладке Audio, отметить Audio from other file......



В открывшимся окне выбираем наш полученый ранее PCM-файл и проводим обычные манипуляции с выбором кодека и последующим кодированием. При этом исходный аудио-поток будет игнорирован.

2-е решение: Заходим в закладку Audio ---> Conversion, в поле Chennals изменяем\выбираем Stereo.



Нажимаем ОК, идём в строку Compression и видим, у нас всё высвителось и можно выбрать нужное значение.

3-е решение. Отмечаем галочкой значение Show all formats и оп-ля, вновь появляется списочек.



Битрейт выбираем в зависимости от того, игровой или музыкальный фильм мы выбрали к конвертированию.
Если игровой, то битрейт 128 CBR вполне подойдёт, выше нет необходимости - ниже можно, но не советую, часто на битрейтах ниже 128 начинаются проблемы с синхронизацией потоков.
Если фильм музыкальный - 256 CBR и выше.
Помним: Чем больше битрейт, тем больше места занимает аудио-поток и тем меньше места остаётся видео-потоку.
Тут решать Вам, чему отдать своё предпочтение.


Видео битрейт

Шаг №2 .
В закладке Video-->Full processing mode-->Compression



Шаг 3
В открывшемся окне, выбираем кодек DivX (в этом уроке). Нажимаем Configure



Не буду углублятся в описание кодека. Нам пока важен ПРИНЦИП.

Шаг 4
Закладка Main
Ставим галку на Encoding presеts и двигаем ползунок в сторону максимального качества Quality
Рядом с окошком Bitrate нажимаем на значок Калькулятора.



Шаг 5
В появившимся калькуляторе вводим значения полученные ранее в AVIcodec.



Поле Duration
Смотрим в AVIcodec продолжительность фильма. Вводим 1 час 50 минут 07 секунд. Секунды, как Вы понимаете, большого значения не имеют. Если не пользоваться программой AVIcodec, то продолжительность фильма можно у видеть и в VirtualDub предварительно нажав кнопку №6 (см. Урок №3 рис.№1)



Поле Filesize
Вводим размер видеофайла на выходе вместе со всеми потоками. 700 МВ
Поле Audio Bitrate
Вводим значение битрейта аудио-потока. 128 kbps (по умолчанию)
Слева внизу видим значение видеобитрейта.
Нажимаем Accept
Видим высчитанный нами видеобитрейт.
Не зацикливайтесь на цифрах битрейта! (какой-то он маленький?)
Какой битрейт лучше может показать ТОЛЬКО полученный результат.



Нажимаем ОК-->ОК

Теперь мы знаем КАК высчитать битрейты для получения конкретного размера видеофайла.
Теперь, собственно, внеся коррективы, можно заняться самим процессом перекодирования.
Мы его проходили в уроке №2.
По окончании процесса Вы сможете насладится результатами своих трудов.

Всё. Урок закончен. Спасибо за внимание.

Примечание:
Урок создан СПЕЦИАЛЬНО и ТОЛЬКО для тех, кто не любит незаслуженно(с моей точки зрения) "тяжёлые" файлы.
Все настройки по битрейтам и кодекам выбраны мной исходя из МОИХ ЛИЧНЫХ предпочтений.
Претензии по поводу "лучшести" других кодеков и битрейтов не принимаются!

© Счастье - это положительное отношение к происходящему. AlexStorm. 2006

Последний раз редактировалось AlexStorm; 23.11.2014 в 09:11.. Причина: обновил фото
AlexStorm вне форума  
Эти пользователи сказали Спасибо AlexStorm: Ali007, Марион, lotes, Улыбка, oselxo, sportik, vev57