Задача из четырёх источнеков изображений сделать однин поток, разместив изображения матрицей 2х2 затем передать его в ffserver
ffmpeg собран из гита, т.к. из реозитория (ppa:jon-severinsson/ffmpeg) не ставится: ругается на внутренние функции при попытки запуска и вылетает
Решаю так:
ffmpeg -i test.avi -async -1 -vf "[in]scale=360:288,setpts=PTS-STARTPTS,pad=720:576:0:0,[T1]overlay=360:0,[T2]overlay=0:288,[T3]overlay=360:288[out]\
;movie=test.avi,scale=360:288,setpts=PTS-STARTPTS[T1]\
;movie=test.avi,scale=360:288,setpts=PTS-STARTPTS[T2]\
;movie=test.avi,scale=360:288,setpts=PTS-STARTPTS[T3]" -y test2.avi
вылетает с ошибкой:
ffmpeg version N-39184-gadb98a3 Copyright (c) 2000-2012 the FFmpeg developers
built on Mar 24 2012 01:09:10 with gcc 4.4.3
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-libmp3lame --enable-libtheora --enable-libv4l2 --enable-libx264 --enable-libxvid --enable-openssl
libavutil 51. 44.100 / 51. 44.100
libavcodec 54. 12.100 / 54. 12.100
libavformat 54. 2.100 / 54. 2.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 65.102 / 2. 65.102
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 7.100 / 0. 7.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.avi':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2008-09-04 09:15:28
Duration: 00:02:24.32, start: 0.000000, bitrate: 454 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 125 kb/s
Metadata:
creation_time : 2008-09-04 09:15:28
handler_name : (C) 2007 Google Inc. v06.24.2007.
Stream #0:1(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 384x288 [SAR 1:1 DAR 4:3], 323 kb/s, 24.98 fps, 24.98 tbr, 24979 tbn, 49958 tbc
Metadata:
creation_time : 2008-09-04 09:15:28
handler_name :
[buffer @ 0x2f09580] w:384 h:288 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[movie @ 0x2f082e0] seek_point:0 format_name:(null) file_name:test.avi stream_index:1
[movie @ 0x30022a0] seek_point:0 format_name:(null) file_name:test.avi stream_index:1
[movie @ 0x2edf8e0] seek_point:0 format_name:(null) file_name:test.avi stream_index:1
[scale @ 0x2f11420] w:384 h:288 fmt:yuv420p sar:1/1 -> w:360 h:288 fmt:yuv420p sar:16/15 flags:0x4
[scale @ 0x2f11420] TB:0.000001
[pad @ 0x2edec80] w:360 h:288 -> w:720 h:576 x:0 y:0 color:0x000000FF
[scale @ 0x2f081a0] w:384 h:288 fmt:yuv420p sar:1/1 -> w:360 h:288 fmt:yuva420p sar:16/15 flags:0x4
[scale @ 0x2f081a0] TB:0.000040
[overlay @ 0x2f11ae0] main w:720 h:576 fmt:yuv420p overlay x:360 y:0 w:360 h:288 fmt:yuva420p
[overlay @ 0x2f11ae0] main_tb:1/1000000 overlay_tb:1/24979 -> tb:0/1 exact:0
[overlay @ 0x2f11ae0] Timestamp conversion inexact, timestamp information loss may occurr
[scale @ 0x2f4b820] w:384 h:288 fmt:yuv420p sar:1/1 -> w:360 h:288 fmt:yuva420p sar:16/15 flags:0x4
[scale @ 0x2f4b820] TB:0.000040
[overlay @ 0x2edfbc0] main w:720 h:576 fmt:yuv420p overlay x:0 y:288 w:360 h:288 fmt:yuva420p
[overlay @ 0x2edfbc0] main_tb:0/1 overlay_tb:1/24979 -> tb:1/24979 exact:1
[scale @ 0x321cb80] w:384 h:288 fmt:yuv420p sar:1/1 -> w:360 h:288 fmt:yuva420p sar:16/15 flags:0x4
[scale @ 0x321cb80] TB:0.000040
[overlay @ 0x2f076e0] main w:720 h:576 fmt:yuv420p overlay x:360 y:288 w:360 h:288 fmt:yuva420p
[overlay @ 0x2f076e0] main_tb:1/24979 overlay_tb:1/24979 -> tb:1/24979 exact:1
Output #0, avi, to 'test2.avi':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2008-09-04 09:15:28
ISFT : Lavf54.2.100
Stream #0:0(und): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 200 kb/s, 24.98 tbn, 24.98 tbc
Metadata:
creation_time : 2008-09-04 09:15:28
handler_name :
Stream #0:1(und): Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16
Metadata:
creation_time : 2008-09-04 09:15:28
handler_name : (C) 2007 Google Inc. v06.24.2007.
Stream mapping:
Stream #0:1 -> #0:0 (h264 -> mpeg4)
Stream #0:0 -> #0:1 (aac -> libmp3lame)
Press [q] to stop, [?] for help
Исключение в операции с плавающей точкой
а при опытки вывести в feed1 :
ffmpeg -i test.avi -async -1 -vf "[in]scale=360:288,setpts=PTS-STARTPTS,pad=720:576:0:0,[T1]overlay=360:0,[T2]overlay=0:288,[T3]overlay=360:288[out]\
;movie=test.avi,scale=360:288,setpts=PTS-STARTPTS[T1]\
;movie=test.avi,scale=360:288,setpts=PTS-STARTPTS[T2]\
;movie=test.avi,scale=360:288,setpts=PTS-STARTPTS[T3]" -y http://localhost:8090/feed1.ffm
выводит test.avi без каких бы то небыло изменений,
Подскажите, ллз, что я делаю не так, я чайник, ubuntu 10.04 LTS(пробовал обе и i386 и x86_64), и 12.04 i386