Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с видео файлами
CTPAX-X > Всё остальное > Разное
Siberian GRemlin
У меня есть несколько вопросов бытового характера:

1. Как узнать сколько звуковых дорожек в видеофайле?
2. Как выбирать какую дорожку проигрывать?
3. Какие проигрыватели поддерживают видеофайлы с несколькими звуковыми дорожками?
4. Какие форматы видеофайлов поддерживают несколько звуковых дорожек?
5. Каким ПО можно добавить\удалить звуковые дорожки в\из файл(а)?
6. Как быстро и просто отрезать кусок от файла, например в сто метров? (HDTV фильм не влазит на DVD5 болванку, т.к. чуть больше максимального объёма -- хоть обрезать титры чтоли, чтобы влез)
-=CHE@TER=-
Siberian GRemlin!

1) По разному - начиная от тупого просмотра в видеоплеере, который их поддерживает, до просмотра в редакторе или спец.программах.
2) В видеоплеере? Я юзаю MPC - там щёлкаешь правой клавишей на видео и выбираешь Audio -> ... и там все дорожки. Если одна, то этот пункт задисаблен, так что выбрать ничего нельзя.
3) MPC, BSPlayer (всякие VLC и LA, вероятно, тоже) и, наверное, любые другие при Audio FFDSHOW фильтре (дорожки переключаются через иконку в трее).
4) .MKV, .OGM, .AVI - это 100%. Насчёт .WMV и его младшего брата .ASF - не знаю. Если какие-то другие форматы (контейнеры) и поддерживают эту фичу, то, на мой взгляд, они слишком специфические чтобы их рассматривать.
5) VirtualDubMod
6) Т.к. вопрос не подразумевает корректное отрезание, то можно тупо:
CODE
AssignFile(Fl, 'filename.ext');
Reset(Fl, 1);
Seek(Fl, 100); { отступили 100 байт }
Truncate(Fl); { и отрезали всё, что идёт дальше }
CloseFile(Fl);

Только, если файл большой - рекомендую делать это через WinAPI, а то тут Seek может на 4 Гб не перейти - слишком далеко (если параметр знаковый целочисленный).
И ещё рекомендую, перед тренировками, сделать резервную копию. (*улыбается*)
Как оно будет играться после отрезания - не знаю, но, в принципе, должно как и обычно, может только в конце пищать/трещать будет из-за битых данных.
Знаю, что во всех MPEG файлах, фреймы, кажется, с такой последовательности начинаются:
00 00 01 BA 21
т.е. перейти куда-нибудь ближе к концу и, найдя ближайшую такую последовательность, обрезать всё с её начала.
jTommy
1) Чаще, просто смотрю в LA. Иногда использую Mediainfo
3) LA тоже поддерживает, но не больше трех. sad.gif
5) Если .mkv, то для нее есть специальные утилиты на офф. сайте. Я пользуюсь mkvtoolnix. Умеет добавлять/удалять аудиодорожки и титры и еще полно других функций.
6) Хм, надо подумать... Дело в том, что в AVI, в конце файла, хранятся указатели на кадры. И без них будет не очень корректно проигрываться, если вообще будет.
Siberian GRemlin
QUOTE(jTommy @ Feb 11 2008, 05:54 AM) *

5) Если .mkv, то для нее есть специальные утилиты на офф. сайте. Я пользуюсь mkvtoolnix. Умеет добавлять/удалять аудиодорожки и титры и еще полно других функций.

Это то что надо! Очень удобная вещь, и поддерживает не только матрёшку! Вырезал одну звуковую дорожку и теперь фильм влазит на DVD5. =)

Тут у меня ещё одна проблема: почему-то слишком быстро опустошается буфер кадров при проигрывании матрёшкиных файлов (.mkv) и из-за этого видео тормозит. Все остальные HDTV фильмы в других контейнерах, типа AVI(XviD) и WMV проигрываются отлично, комп то ведь у меня не слабенький. В чём может быть проблема? Пробовал несколькими хорошими проигрывателями -- результат везде одинаковый, разве что MPC чуть порезче будет. Кодеки я держу всегда последние (на всякий случай сейчас вот полез смотреть обновления у тех что используются в этих фильмах). В связи с этим такой вопрос: Какой прогой быстро и удобно можно конвертировать без потерь матрёшку в тот же XviD?

Добавлено:
Обновил ffdshow и тормоза пропали!
Siberian GRemlin
Можно ли создать 3GP произвольного размера? Я как понял есть три стандартных размера, да вот только экран у моего телефона для одного стандарта слишком маленький, а для другого слишком большой.

Есть ли какое-либо ПО для работы с ACT IMAGINE video codec (файлы [.VX]) ?
-=CHE@TER=-
QUOTE(Siberian GRemlin @ Mar 22 2008, 04:18 AM) *
Можно ли создать 3GP произвольного размера? Я как понял есть три стандартных размера, да вот только экран у моего телефона для одного стандарта слишком маленький, а для другого слишком большой.
Попробуй что-нибудь из последних версий FFMPEG. Он в 3GP умеет кодировать - там из коммандной строки можно разрешение задать и т.д.
-=CHE@TER=-
Надавно занимался пережатием видео записанного с IPTV. Кстати, воспроизводить и писать (вернее сохранять дамп летящего видео-потока) в реальном времени без особой нагрузки даже на мой старенький процессор может VLC (у меня версия 1.0.3 Goldeneye за 2009 год, в новой с офсайта я почему-то кнопку записи не нашёл...). Так вот, сохраняется, как правило, файл в формате .TS. Это MPEG Video и Audio + 5% служебной информации. Т.е. его без пережатия можно перетряхнуть в обычный .MPG и уменьшить тем самым размер (я использую для этого, а также для вырезания рекламы MPEG Streamclip 1.2 (опция "Convert to MPEG") - сразу предупреждаю, что оно с H264 видео в том же .TS работать не будет!). На некоторых каналах, кстати, могут даже две и более звуковых дорожек быть. Тот же Discovery Science вещает с первой английской и второй русской дорожками.
Но хранить это видео даже избавленное от 5% служебной информации - накладно, поэтому его лучше пережать. Я пережимаю в .MP4 (видео в H264 + звук в AAC), чтобы оно меньше занимало.
Суть проблемы с которой я столкнулся: когда я открываю очищенный .MPG файл в VirtualDubMod, делаю deinterlace, resize, cropping и сохраняю, то результирующий .AVI файл весьма странно проигрывается растягиваясь до неприличия по вертикали. Причём эту информацию берёт и x264.exe при сжатии видео. Сначала приходилось без пережатия (Direct Stream Copy) пересохранять файл в младшей версии VirtualDub (у меня 1.5.1 build 15654) чтобы всё было нормально. Однако, т.к. для предварительной обработки я сохраняю видео сжатое huffyuv (lossless кодек), то вторая копия файла отжирает ещё столько же, что и первая, а также кучу времени при создании.
Одним словом - достало. Тогда поковыряв формат я нашёл в чём проблема - VirtualDubMod добавляет секцию "vprp" (Video Properties Header), где зачем-то сохраняет соотношение сторон пересчитанные после resize и crop (отчего они получаются просто дикие). Чтобы видео снова стало нормальный достаточно удалить эту секцию. И самый простой способ сделать это - заменить её на секцию-выравнивание (пустышку). Т.е. достаточно залезть в файл и любым HEX редактором заменить "vprp" на "JUNK" (именно заглавными буквами!). После этого видео становится таким, каким оно, по задумке, и должно быть. Надеюсь кому-нибудь данное описание поможет сэкономить время и силы.
Siberian GRemlin
Случилось так, что я всё таки полюбил ffmpeg. Но осталось много вопросов, на которые даже google не найти правильный ответ.

Можно ли подавать на ввод файл с чистым потоком звуковых данных (raw)? Если да, то как указать чем этот поток пожат?
-=CHE@TER=-
Хочешь перебрать всевозможные алгоритмы для декодировния звука? (*улыбается*)
К сожалению, в этой программе такой опции нет - указание входного кодека.
Во всяком случае (полистал справку) мне о ней неизвестно.
Siberian GRemlin
QUOTE(-=CHE@TER=- @ Apr 6 2012, 19:09) *
Хочешь перебрать всевозможные алгоритмы для декодировния звука? (*улыбается*)
Хорошая идея. Но я хотел не это. Некоторые алгоритмы сжатия не поддерживаются WAV, например, adpcm_adx, и получается его не извлечь нельзя не перекодировав, ни вставить нельзя родной .ADX, т.к. ffmpeg его не понимает. Т.о. пришлось бы делать лишние манипуляции и терять качество при перегоне.

К счастью, ту задачу для которой мне это надо было только что удалось решить иным способом.
Это упрощенная версия форума. Для просмотра полной версии нажмите нажмите сюда.
Invision Power Board © 2001-2021 Invision Power Services, Inc.