LINUX.ORG.RU

[Mencoder] Как из нескольких *.flv сделать один, чтобы работала перемотка?

 


0

0

Здравствуйте!


Есть у меня несколько flv файлов с именами video01.flv ... video05.flv.

Нужно из этих файлов сделать один flv без потери качества, то есть просто «слепить» их вместе. Я это делаю командой:

mencoder video*.flv -oac copy -ovc copy -o result.flv

Однако есть проблема - в этом файле не работает перемотка, и нельзя перепрыгнуть на произвольный момент видео. Чтобы увидеть конец, нужно смотреть все видео с самого начала.


Вопрос. Как из нескольких *.flv файлов создать результирующий *.flv файл так, чтобы работала перемотка / переход на произвольный момент видео?


перегнать в нормальный формат

amorpher ★★★★★
()

+1 к предыдущему докладчику.
Для avi нарушенная перемотка восстанавливается так:
mencoder tst.avi -forceidx noindex.avi -oac copy -ovc copy -o output.avi
попробуй, может, и для flv сработает.

fractaler ★★★★★
()

Возможно mencoder что-то неправильно делает, что неудивительно, учитывая, что он фактически имеет статус unmaintained. Думаю, стоит попробовать собрать эти файлы прямо через ffmpeg.

Еще, вроде как, можно попробовать добавить cue points и метадату через flvtool2, может помочь.

Sion
()
Ответ на: комментарий от fractaler

>> перегнать в нормальный формат

+1 к предыдущему докладчику.


Тогда неизбежно ухудшится и без того не самое лучшее качество.

В общем, помогла опция -idx. С опцией -forceidx результирующий файл тот же, байт в байт.

Заработала перемотка, но smplayer-у плохеет - он неправильно определяет длительность всего файла (15 секунд вместо 10 минут). Соответственно, движок двигается неправильно - быстро ползет к конзу, перепрыгивает на начало и там стоит.

То есть, перемещаться взад-вперед теперь можно, а перейти движком - нельзя, никогда не угадаешь куда попадешь.

xintrea
() автор топика

Я avidemux'ом такие вещи делаю. На счет перемотки, честно говоря, не уверен, но по идее должна быть.

ArcticFox
()
Ответ на: комментарий от St_Junker

> flvtool2 -U file.flv

натрави на получившийся файл, flvtool2 обновит метаданные, после перемотка должна работать


Лезут ошибки:

ERROR: IO is not a FLV stream. Wrong signature.
ERROR: /usr/lib/ruby/1.8/flv/stream.rb:393:in `read_header'
ERROR: /usr/lib/ruby/1.8/flv/stream.rb:57:in `initialize'
ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:272:in `new'
ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:272:in `open_stream'
ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:238:in `process_files'
ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:225:in `each'
ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:225:in `process_files'
ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:44:in `execute!'
ERROR: /usr/lib/ruby/1.8/flvtool2.rb:168:in `execute!'
ERROR: /usr/lib/ruby/1.8/flvtool2.rb:228
ERROR: /usr/bin/flvtool2:2:in `require'
ERROR: /usr/bin/flvtool2:2

xintrea
() автор топика
Ответ на: комментарий от KPSS

>> Тогда неизбежно ухудшится и без того не самое лучшее качество.

А в mkv засунуть?


А как?

xintrea
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.