Нестандартный файл MPEG2-PS: как спасти видео ?

Вообще не хотелось бы вступать в полемику... но Aivar, Вы не правы насчет mkv. Это контейнер, который, если посмотреть спецификацию, поддерживает любые видео- и аудиоформаты. Это во-первых. Во-вторых, дергания в файле возникают при попытках проигрывателя осуществить синхронизацию видео и звука. Не надо перекодировать видео, просто удалите звуковую дорожку из файла или загоните все в другой контейнер и попробуйте его проиграть. Дерганий ни в avi, ни mkv не будет. Там проблемы с синхронизацией по другому решаются. При перекодировании возможно делается попытка сохранить существующие временнЫе метки, отчего дергание сохраняется. При использовании контейнеров mpg и vob снова будем наталкиваться на те же грабли. Видео не очень хорошего качества. Если его разделить на потоки, они наверняка будут разной длины. При длинном видео эти потоки нужно будет подгонять. Поэтому все дело в синхронизации. Предлагаю не продолжать спор, даже если Вы со мной не согласны.Человек, которому это действительно надо, попробует. Если нет, значит нет. Я описал вариант своего решения с минимальной потерей качества, опять же со своей точки зрения. А выяснять, что было когда-то сделано изначально не так, в настоящий момент уже не стоит.
z-vladimir, как-то уже высказывался, что я - человек темный, спецификаций не читаю, все методом тыка. )
А еще складывается впечатление, что мой предыдущий пост Вы прочли по диагонали. Ладно, по порядку.

z-vladimir
Не надо перекодировать видео, просто удалите звуковую дорожку из файла или загоните все в другой контейнер и попробуйте его проиграть. Дерганий ни в avi, ни mkv не будет.
Откуда вы взяли, что я пережимаю видео? Я тупо копирую потоки:
$ ffmpeg -i RCA-IN\ 100215-015655.mpg -f avi -vcodec copy -acodec copy -y rca.avi
Отрабатывает. Проигрывание: звук идет ровно, видео притормаживает.

$ ffmpeg -i RCA-IN\ 100215-015655.mpg -f avi -vcodec copy -an -y rca.avi
Отрабатывает. Проигрывание: звука, понятно, нет, видео притормаживает.

$ mencoder RCA-IN\ 100215-015655.mpg -forceidx -ovc copy -oac copy -o rca.avi
Тут, да, подергиваний практически нет, но дело даже не в индексации файла.

$ ffmpeg -i RCA-IN\ 100215-015655.mpg -f matroska -vcodec copy -acodec copy -y rca.mkv
...
[matroska @ 0x1793540] Can't write packet with unknown timestamp
av_interleaved_write_frame(): Invalid argument
...
Conversion failed!
Со звуком или без - результат один. Т.е. ffmpeg, по крайней мере в таком виде mpeg2 в матрешку сохранить не может, от чего я и отталкивался.

Иная ситуация с mencoder'ом:
$ mencoder RCA-IN\ 100215-015655.mpg -forceidx -ovc copy -oac copy -of lavf -lavfopts format=mkv -o rca.mkv
...
[matroska @ 0x7fcc6790d740]Codec for stream 0 does not use global headers but container format requires global headers
[matroska @ 0x7fcc6790d740]Codec for stream 1 does not use global headers but container format requires global headers
[matroska @ 0x7fcc6790d740]No wav codec tag found for codec mp1
Исключение в операции с плавающей точкой
Файл не сохранен, но на счет матроски я действительно был неправ, потому как без звука или со звуком, допустим, mp3 файл сохраняется и проигрывается ровно, хотя, разумеется, mplayer продолжает сыпать
[mpeg2video @ 0x7f65ab5038c0]interlaced frame in progressive sequence, ignoring
[mpeg2video @ 0x7f65ab5038c0]invalid frame_pred_frame_dct

Avidemux, да, нормально сохраняет в оба контейнера и выходное видео не дергается. Очевидно, эта гуевина знает больше меня, но так повелось, что к этой софтине я прибегаю в самом крайнем случае. :-Р

z-vladimir
Если его разделить на потоки, они наверняка будут разной длины.
И разделять не надо, чтобы в этом убедиться:
$ mediainfo RCA-IN\ 100215-015655.mpg
Video
...
Duration                                 : 55s 199ms

Audio
...
Duration                                 : 59s 39ms
Т.е. в некоторых случаях видео действительно задерживается дабы выровняться со звуком.

z-vladimir
Человек, которому это действительно надо, попробует.
Признаться, я уже не пойму, чего ТС надо. Видео нормально воспроизводится, при желании можно смонтировать/перекодировать и т.д.

ЗЫ.
z-vladimir
Предлагаю не продолжать спор, даже если Вы со мной не согласны ... выяснять, что было когда-то сделано изначально не так, в настоящий момент уже не стоит.
Ну извините, не удержался.
Aivar
Признаться, я уже не пойму, чего ТС надо. Видео нормально воспроизводится, при желании можно смонтировать/перекодировать и т.д.
Привести видео в чувство, желательно без перекодирования видео... Кроме того, если "нормально" проигрывается только mplayer а на всех остальных "затыки", это не есть нормально. И, кстати, на Яндекс.Диск прикрутили флэш-плеер для медиа, так тот тоже согласен, что видео должно быть для воспроизведения на любом проигрывателе: показывает такие же "затыки"...

P.S: И, да, раскопал у себя фирменный диск от тюнера, это на стену позора: такую гадость сотворила софтина VentiTV, обидно что ffmpeg оцифровывает просто замечательно, но, увы, видака, больше нет...

z-vladimir
просто удалите звуковую дорожку из файла или загоните все в другой контейнер и попробуйте его проиграть. Дерганий ни в avi, ни mkv не будет.
Попробовал с опцией -an всё так же - дергает, без звука

Aivar
при желании можно смонтировать/перекодировать и т.д.
Через virtualdub да, можно, хоть и есть геморрой с рассинхроном, критично для некоторых фильтров, а линуксовскими средствами - затыки
kotnaton
Привести видео в чувство, желательно без перекодирования видео
Как это сделать, если ошибки в самом видео?
virtualdub без перекодирования, копируя потоки, решает проблему?

kotnaton
линуксовскими средствами - затыки
Дык, Avidemux же справляется.
Кстати, Avidemux после копирования потоков (без перекодирования) в родной для этого видео контейнер MPEG-PS (A+V) создает видеофайл, который без проблем открывает melt, а значит и kdenlive возьмет.

add. Так и есть. Т.е. можно делать полноценный нелинейный монтаж видео.
Aivar
virtualdub без перекодирования, копируя потоки, решает проблему?
Да нет, не решает конечно: он и сохранять-то mpeg2 не может, говорят, запретили...

Aivar
Дык, Avidemux же справляется.
Ну, год тому назад avidemux давал жуткий рассинхрон, который не устранялся ручным пересчётом количества кадров на длительность аудио дорожки... А сейчас еще любопытнее, не знаю, чего там делает avidemux, но если через avidemux пропустить это видео, копируя дорожки, с сохранением в контейнер mpeg-ps то, получившийся файл не будет проигран на dvd-проигрывателе (Pioneer DV2020), хотя изначальный файл проигрывается, даже без затыков, собственно на любых проприетарных декодерах, типа, тех, что есть в k-lite сабж проигрывается как надо...
kotnaton
он и сохранять-то mpeg2 не может, говорят, запретили...
Помнится, раньше сохранял, но не припомню, то ли плагин был нужен, то ли версия особая. Там же версий виртуалдаба - как собак нежеваных и одна от другой отличается чуть ли не абсолютно разным функционалом.

kotnaton
файл не будет проигран на dvd-проигрывателе (Pioneer DV2020)
Ммм... Я понимаю, что вам не станет от этого легче, но это, скорее, вина конкретной железяки. Я встречал самсунги, которые не открывали голые vob'ы, а только организованные в dvd-video. Хотя, BBK жрал не задумываясь все, что ему скормят (в пределах дозволенного, конечно).
Aivar
Помнится, раньше сохранял, но не припомню, то ли плагин был нужен, то ли версия особая.
Версии способной сохранять в контейнер mpg не видел, говорят есть но очень старая, у версии с плагином MPEG2: опция "Direct stream copy" есть, а возможности сохранить нет, пишет:
The source video stream uses a compression algorithm which is not compatible with AVI files. Direct stream copy cannot be used with this video stream.

Ну что-ж, если, может быть, разживусь где-нибудь 4головым видиком, буду, по крайней мере, знать как ffmpeg-ом ловить :) Хорошей вам ночи тогда..
kotnaton
Версии способной сохранять в контейнер mpg не видел
Очевидно я путаю с версией, которая умела импортировать mpeg2. Давно это было.

kotnaton
Хорошей вам ночи тогда..
И вам того же. Удачи!
Коль пошла такая тема, то поделюсь проблемой - когда-то давно стояла вебка, джениусовская, она что-то периодически писала, это "что-то" в виде avi файликов копилось. Едва ли не лет 10 назад. Каждый раз когда вижу эти файлики, удалить жалко, а просмотреть не могу - под виндами ставились какие-то дрова от вебки, игралось.

Вопрос - чем диагостировать, играть, и пр.?

Сразу скажу, что Авидемукс не открывает вообще - "невозможно определить соотношение сторон".
Smplayer разве что только запускается с пустым экраном. ВЛС добавляет в плейлист и только. НИ один из плееров не отображает параметры видео.
 
Зарегистрироваться или войдите чтобы оставить сообщение.