Русскоязычное Linux-сообщество's Journal
 
[Most Recent Entries] [Calendar View]

Wednesday, November 28th, 2012

    Time Event
    1:56p
    [решено] mencoder и аппаратный mjpeg
    Уважаемые сообщники!

    Подскажите, как менкодером с веб камеры захватить аппаратный MJPEG поток без пересжатия?
    Умею это прекрасно делать ффмпегом или влц:

    ffmpeg -f video4linux2 -vcodec mjpeg -r 15 -i /dev/video0 -vcodec copy test.avi

    Получаю при этом:

    Video
    ID                                       : 0
    Format                                   : JPEG
    Codec ID                                 : MJPG
    Duration                                 : 10s 167ms
    Bit rate                                 : 8 522 Kbps
    Width                                    : 960 pixels
    Height                                   : 720 pixels
    


    vlc -I dummy v4l2:///dev/video0:width=960:height=720:fps=15 :v4l2-chroma=MJPG :v4l2-fps=15 --sout=file/asf:mjpeg-vlc.asf

    Video
    ID                                       : 1
    Format                                   : JPEG
    Codec ID                                 : MJPG
    Description of the codec                 : Unknown Video
    Bit rate                                 : 4 977 Kbps
    Width                                    : 960 pixels
    Height                                   : 720 pixels
    


    А вот mencoder, как его ни запускай, всё равно хватает YUV:

    v4l2-ctl -d /dev/video0 -v width=960,height=720,pixelformat=MJPEG
    mencoder tv:// -tv driver=v4l2:width=960:height=720:fps=15:mjpeg -nosound -ovc copy -o test.avi

    И получается:

    Video
    ID                                       : 0
    Format                                   : YUV
    Codec ID                                 : YUY2
    Codec ID/Info                            : YUV 4:2:2 as for UYVY but with different....
    Duration                                 : 50s 0ms
    Bit rate                                 : 110 Mbps
    Width                                    : 960 pixels
    Height                                   : 720 pixels
    


    openSUSE 12.1 32bit, а ffmpeg и mencoder ставил из Packman репы, версии относительно свежие

    Помогите советом!
    Полный лог менкодера: http://pastebin.com/zUmQgBaS

    UPD

    mencoder tv:// -tv driver=v4l2:width=960:height=720:fps=15:outfmt=mjpeg -nosound -ovc copy -o test.avi
    4:59p
    про последовательный порт глупый вопрос
    Не знаю, где и спросить. Планирую поиграться в Processing - надо будет делать логи и строить графики датастрима из последовательного порта.

    Пока что железки все равно нету, но хотелось бы примерить - смоделировать такой поток.
    Так вот, туплю, не могу сообразить, можно ли на одном и том же компьютере каким-нибудь скриптом создать нечто подобное и пихать в него байты (допустим, четыре значимых байта+два байта разделителя, и так по десять раз в секунду). А потом процессингом открывать это нечто на чтение и забирать данные? (отладить бы эту штуку, чтобы потом, когда появится устройство, просто поменять название порта и чтоб все сразу заработало). Компьютер - мак, абер дох...

    upd. надо было лучше гуглем пользоваться. кажется, нашел:
    http://code.google.com/p/macosxvirtualserialport/

    << Previous Day 2012/11/28
    [Calendar]
    Next Day >>

Русскоязычное Linux-сообщество   About LJ.Rossia.org