14 мая 2010 г.

linux: объединение нескольких видеофайлов avi с помощью mencoder

А вот как с помощью mencoder слить любое количество мелких видеофайлов в один большой. Без перекодирования, просто объединение "как есть". Как известно, через cat простой конкатенацией не все контейнеры корректно сливаются. AVI точно не слить.
mencoder -oac copy -ovc copy ./file1.avi ./file2.avi -o ./full.avi
Возможно, таким образом (без перекодирования) корректно сольются только куски с одинаковыми характеристиками кодирования, типа куски одного видео, это надо экспериментировать.

1 комментарий:

  1. Вот также скрипт накалякал для объединения всех файлов в каталоге по одинаковому расширению:


    #!/bin/bash

    # first parameter - extension
    ext=$1
    # ... and check
    if [ -z "$ext" ]; then
    echo "must be parameter - file extension"
    exit 1
    fi

    # builded file list
    filelist=""

    # output file name
    outfilename='avi21-'`/bin/date "+%0Y%0m%0d-%0k%0M%0S"`'.'$ext

    for file in *
    do
    if echo "$file" | grep -q "^avi21.*$ext$"; then
    echo "skip outputed '$file'"
    elif echo "$file" | grep -q -v "$ext$"; then
    echo "skip not valid ext '$file'"
    else
    echo "process '$file'"
    filelist=${filelist}' ./'$file' '
    fi
    done

    mencoder -oac copy -ovc copy $filelist -o ./$outfilename

    ОтветитьУдалить