Автор Тема: Отрезка лишнего в фильме  (Прочитано 3094 раз)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 881
    • Домашняя страница
    • Email
Отрезка лишнего в фильме
« : 29.01.2009 11:23:58 »
Есть ролик в формате .ogv. размером кадра 800x640 пикселей. На системе 5.0 branch.

Требуется изменить видео и сохранить результат в .ogv:
1. Обрезать сверху на 20 пикселей;
2. Обрезать снизу на 20 пикселей;
3. Обрезать первые 5 секунд видео;
4. Обрезать последние 10 секунд видео

Приветствуются любые способы. Предпочтение — консольным командам.
Андрей Черепанов (cas@)

kda

  • Гость
Re: Отрезка лишнего в фильме
« Ответ #1 : 29.01.2009 11:49:37 »
Отрезать куски видео в начале и в конце, думаю, можно так:

ffmpeg -i input.ogv -ss [нач. время в формате чч:мм:сс] -t [длительность в формате чч:мм:сс] output.ogv
либо так:

mencoder -oac copy -ovc copy -ss [нач. время в формате чч:мм:сс] -endpos [длительность в формате чч:мм:сс] -o output.ogv input.ogv
как выполнить первые 2 пункта, не знаю.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 881
    • Домашняя страница
    • Email
Re: Отрезка лишнего в фильме
« Ответ #2 : 29.01.2009 12:20:08 »
Спасибо. В общем-то, crop делается и в ffmpeg и mencoder, но первый падает в корку, а второй сообщает об ошибке.
ffmpeg -i test.ogv -croptop 20 -cropbottom 20 tt.ogv[cas@c249 share]$ mencoder test.ogv -vf crop=800:620:20:20 -o tt.ogv -ovc lavc
MEncoder dev-SVN-r27654-4.3.2 (C) 2000-2008 MPlayer Team                     
CPU: Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz (Family: 6, Model: 15, Stepping: 13)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1                       
Compiled with runtime CPU detection.                                                     
129 audio & 259 video codecs                                                             

WARNING: OUTPUT FILE FORMAT IS _AVI_. See -of help.
success: format: 0  data: 0x0 - 0x1465933         
Ogg stream 0 is of an unknown type
[Ogg] stream 1: video (Theora v3.2.1), -vid 0
Ogg file format detected.
VIDEO:  [theo]  800x640  24bpp  15,000 fps    0,0 kbps ( 0,0 kbyte/s)
[V] filefmt:18  fourcc:0x6F656874  size:800x640  fps:15,000  ftime:=0,0667
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0,000000, round: 1
Opening video filter: [crop w=800 h=620 x=20 y=20]
Crop: 800 x 620, 20 ; 20
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[theora @ 0x8d28a40]Missing extradata!
Could not open codec.
VDecoder init failed :(
Opening video decoder: [theora] Theora/VP3
VDec: vo config request - 800 x 640 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1,25:1 - prescaling to correct movie aspect.
[CROP] Bad position/width/height - cropped area outside of the original!
FATAL: Cannot initialize video driver.
VDecoder init failed :(
Cannot find codec matching selected -vo and video format 0x6F656874.
Read DOCS/HTML/en/codecs.html!
==========================================================================


Кстати, следуя по твоему совету:
1. через ffmpeg — ужасное качество и сегфолт при использовании crop
2. через mencoder — вообще полученный файл не открывается: [theora @ 0x89b1d10]Missing extradata!                                   
Could not open codec.                 
« Последнее редактирование: 29.01.2009 13:52:01 от Skull »
Андрей Черепанов (cas@)

Drool

  • Гость
Re: Отрезка лишнего в фильме
« Ответ #3 : 29.01.2009 15:43:37 »
1. через ffmpeg — ужасное качество...

-acodec copy -vcodec copy ?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 17 881
    • Домашняя страница
    • Email
Re: Отрезка лишнего в фильме
« Ответ #4 : 29.01.2009 16:21:59 »
-acodec copy -vcodec copy ?
Unable to find a suitable output format for 'acodec'
Андрей Черепанов (cas@)

Drool

  • Гость
Re: Отрезка лишнего в фильме
« Ответ #5 : 29.01.2009 22:12:37 »
-acodec copy -vcodec copy ?
Unable to find a suitable output format for 'acodec'

Опять thresh собрал без какого-то формата?

Оффлайн Const

  • Глобальный модератор
  • *****
  • Сообщений: 2 653
  • Даже у плохого модератора есть свои плюсы…
Re: Отрезка лишнего в фильме
« Ответ #6 : 30.01.2009 08:34:55 »
как выполнить первые 2 пункта, не знаю.

man mencoder:

       crop[=w:h:x:y]
              Обрезает   изображение   до   указанного   размера,   отбрасывая
              остальное.  Полезно для удаления черных полос  в  широкоэкранных
              фильмах.
                 <w>,<h>
                      Размер  обрезания,  по умолчанию равен исходной ширине и
                      высоте.
                 <x>,<y>
                      Позиция  обрезаемого  изображения,  по  умолчанию  -   в
                      центре.