Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Видео и аудио: обработка и кодирование (http://forum.oszone.net/forumdisplay.php?f=45)
-   -   Обработка ts-видео в tsMuxer + VirtualDub (http://forum.oszone.net/showthread.php?t=277122)

Nun-Nun 04-02-2014 23:56 2302860

Обработка ts-видео в tsMuxer + VirtualDub
 
Требуется решить задачу следующего рода: необходимо полученное с видеокамеры широкоформатное интерлейсное видео FULL HD 1080i 25 fps, т.е. файлы mts склеить и сконвертировать в прогрессивное видео 720х400 в контейнере AVI (для воспроизведения на стационарном проигрывателе). Для решения выбрана связка tsMuxer + VirtualDub (с плагинами и фильтрами).
Последовательность действий:
  1. в tsMuxer-е исходные mts-файлы склеиваю без пересжатия в один ts-файл;
  2. на всякий случай проверяю параметры полученного ts-файла (потоки, fps), затаскивая его в tsMuser: всё вроде в норме - потоки на месте, fps=25;
  3. далее затаскиваю полученный ts-файл в VirtualDub и в инфе об этом файле вижу, что fps=50 !!!
  4. для кодирования видеопотока выбираю DivX или XviD + фильтры деинтерлейс и ресайз (до 720х400), для кодирования звука - MP3 (128 кБит/с 48 КГц).
В итоге всей работы вылезло несколько проблем:
  1. VirtualDub у всех mts- и ts-файлов показывает fps=50, хотя исходное значение fps=25;
  2. из деинтерлейсных фильтров пока удалось заставить работать только Smart Deinterlace 2.8, да и тот запускается не с первого раза (при первом запуске выдаёт ошибку и кодирование останавливается, не успев начаться); альпарисофтовский деинтерлейсер с FULL HD видео работать вообще не хочет - выдаёт сообщение, что высота или ширина кадра не кратна 16 (вполне справедливо, т.к. высота кадра, равна 1080 и действительно не кратна 16);
  3. из ресайз-фильтров более-менее сносно работает только Smart Resize 1.1, да и тот иногда вылетает в процессе настройки;
  4. если оставляю fps в том виде, как его определил VirtualDub, т.е. равным 50, то получаемая в результате конвертирования AVI-шка имеет размер почти вдвое меньший (хотя fps в ней равен 50), чем когда принудительно задаю fps, равным 25 !!! Кроме того, если принудительно задаю fps=25, то видео в итоговой AVI-шке мало того, что квадратит, так ещё и плывёт, как в замедленной съёмке. :(
В общем, необходимо решить следующее:
  1. как заставить VirtualDub, чтобы он правильно воспринимал fps у ts- и mts-файлов, т.е. равным 25, а не переиначивал их в 50 (если, конечно, такое вообще возможно)?
  2. какой деинтерлейс-фильтр (если такой вообще в природе существует) нужно использовать, чтобы он нормально деинтерлейсил и работал с FULL HD 1080i ?
  3. какой ресайз-фильтр стОит использовать, чтобы нормально работал, а не глючил (опять же, если такой вообще существует)?


Время: 23:34.

Время: 23:34.
© OSzone.net 2001-