LINUX.ORG.RU

Как писать в две машины?


0

1

Дано:
1.) ноут на Core i3 3120m.
2.) cтарый нэтпук на Intel Atom первого поколения.
3.) ethernet-кабель || wlan || в крайнем случае VGA-кабель (который придется купить)
4.) жара +30

Найти:
Способ захвата скринкаста вспомогательным нэтпуком.

С попытками стримить уже успел попариться. Да и по нагрузке стрим хавает соизмеримые ресурсы.

Сам думаю, что по VGA должно работать:
На первой машине сделать --force вывод на собственный экран ноута и на VGA-выход.
На вспомогательном нэтпуке брать с VGA и писать в файл.
Вот только VGA-шнурок покупать очень не хочется. И не факт что получится. Обойтись бы изернетом...


Откуда ты так уверен, что видеокарта умеет *принимать* данные через мониторный разъем?

Неплохо было бы написать, чем именно делается скринкаст. В принципе можно сделать так: через sshfs/NFS/что-то подобное примонтировать директорию на ноуте и записывать скринкаст туда. Только это поможет только с ограниченным дисковым пространством, а не с лагами. Насколько я знаю, чтобы побороть лаги от самого процесса захвата не убрать, разве что записывать с вебкамеры. Аналитики ЛОРа могут сказать точнее.

А почему нельзя делать скринкаст на ноуте?

P.S. А причем тут жара +30?

lu4nik ★★★ ()

Поставить в неттоп карту захвата, которой у тебя нет. Все остальное аналоги стриминга.

stave ★★★★★ ()

На ноуте ставишь web сервер (lighttpd, например) и запускаешь что-то типа:

vlc -I dummy screen:// :input-slave=alsa://hw:0,3 --sout='#transcode{width=640,height=480,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp4a,ab=72}:std{access=livehttp{seglen=5,delsegs=true,numsegs=3,index=/var/www/screencast/stream.m3u8,index-url=chunk-#.ts},mux=ts{use-key-frames},dst=/var/www/screencast/chunk-#.ts}' --no-one-instance

На тетбуке если просто смотреть, то открываешь в VLC http://192.168.1.3/screencast/stream.m3u8 (IP замени на IP ноута в локальной сети (или не локальной, если не в локалке)). Можешь нажать Shift+R для записи во время просмотра (производится сохранение потока без перекодирования).
Записывать поток без одновременного просмотра можно командой

vlc -I dummy --no-one-instance --play-and-exit --demux=dump --demuxdump-file ~/screencast.ts http://192.168.1.3/screencast/stream.m3u8
(сохраняется в видеофайл ~/screencast.ts).
Можно ещё так записывать: ffmpeg -i http://192.168.1.3/screencast/stream.m3u8 -c copy ~/screencast.mkv

Если нужно чтобы транслируемое видео не удалялось на ноуте, заменить параметр delsegs=true на false.

Тут стриминг производится по протоколу HLS, мне нравится. Можно стримить и по другому протоколу, например RTSP, но мне лень читать мануал про это. Но в таком случае можно обойтись без web сервера.

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

ЗЫ: если запись звука не нужна, можно убрать :input-slave=alsa://hw:0,3. Если звук пишется, параметры alsa возможно придётся поменять на другие, зависит от карты.

Gicdillax ()

Да и по нагрузке стрим хавает соизмеримые ресурсы.

Да не особо. На скрине капчуринг экрана, стриминг и воспроизведение производится на одной машине.

Команду для стриминга следует немного изменить, а то в последних версиях VLC ругается на кодек aac:

vlc -I dummy screen:// :input-slave=alsa://hw:0,3 --sout='#transcode{width=640,height=480,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp4a,ab=72,strict=-2}:std{access=livehttp{seglen=5,delsegs=true,numsegs=3,index=/var/www/screencast/stream.m3u8,index-url=chunk-#.ts},mux=ts{use-key-frames},dst=/var/www/screencast/chunk-#.ts}' --no-one-instance
Gicdillax ()
Ответ на: комментарий от Gicdillax

Можно ещё так записывать: ffmpeg -i http://192.168.1.3/screencast/stream.m3u8 -c copy ~/screencast.mkv

ЗЫ: на не очень свежих версиях ffmpeg следует использовать адрес apple+http://192.168.1.3/screencast/stream.m3u8 (для локальных файлов apple+file://).

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

А какой у тебя процессор? По опыту на одноядерном Pentium4 просто захват картинки с экрана здорово лопал ресурсы. А у ТС вообще нетбук на убогом atom'е.

lu4nik ★★★ ()
Ответ на: комментарий от lu4nik

А у ТС вообще нетбук на убогом atom'е.

Так капчурить и стримить он хочет на ноуте, а на нетбуке только записывать поток с ноута.

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

А, ну значит я неправильно понял. Тогда вопрос с производительностью снимается.

lu4nik ★★★ ()
Ответ на: комментарий от Gicdillax

видео

width=1920,height=1080,fps=25,vcodec=h264,vb=10000
звук
acodec=mp3,ab=320


Cтримится, но что-то с плавностью нехорошее происходит, не похоже оно на 25 кадров/сек.

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

не похоже оно на 25 кадров/сек.

А что говорит mediainfo?

vb=10000

Не слишком ли большой битрейт? Куда столько, десять тысяч?

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

Не слишком ли большой битрейт? Куда столько, десять тысяч?

YouTube вообще в битрейте не ограничивает https://support.google.com/youtube/answer/1722171?hl=ru

От высоты битрейта хотелось бы четкости показанного текста и цветов без искажений.

А что говорит mediainfo?

Звук послушно выставился в 320, а вот для видео 377 как-то маловато будет.
Хочется то качество... Чтоб, ну как у западных кодеров, чьи туториалы на ютубе смотреть приятно и полезно.

k0ttee@b00k:/var/www/screencast$ mediainfo chunk-1.ts 
General
ID                                       : 25629 (0x641D)
Complete name                            : chunk-1.ts
Format                                   : MPEG-TS
File size                                : 21.1 KiB
Duration                                 : 459ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 377 Kbps

Audio
ID                                       : 68 (0x44)
Menu ID                                  : 1 (0x1)
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 3
Duration                                 : 459ms
Bit rate mode                            : Constant
Bit rate                                 : 320 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 17.9 KiB (85%)
k0ttee ()
Ответ на: комментарий от k0ttee

Да битрейта видео для высокого разрешения и 2000 хватило бы.

Кстати, для HLS лучше использовать всё же aac, так положено по спецификациям. Битрейта 320kbps многовато для скринкаста.

В твоём mediainfo нет информации о видео почему-то (я интересовался какую частоту кадров он покажет), а у тебя тут только звук.

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

Да битрейта видео для высокого разрешения и 2000 хватило бы.

Туториалы предлагают минимум 5к для 720p. ФуллХД надо еще больше.

Кстати, для HLS лучше использовать всё же aac, так положено по спецификациям. Битрейта 320kbps многовато для скринкаста.

Просто mp3 быдлокодек и я знаю что для join-stereo 320 это потолок (по 160 на канал). Со всякими ogg и aac начинаются непонятки.

В твоём mediainfo нет информации о видео почему-то (я интересовался какую частоту кадров он покажет), а у тебя тут только звук.

VLC показывает 25 в свойствах кодека.

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

Туториалы предлагают минимум 5к для 720p. ФуллХД надо еще больше.

Мало ли что они предлагают, их пишут не пойми кто. Достаточно посмотреть имеющиеся видео чтобы было очевидно сколько будет достаточно.

Просто mp3 быдлокодек и я знаю что для join-stereo 320 это потолок

Зачем тебе потолок на скринкасте, блин?

по 160 на канал

Нет.

Со всякими ogg и aac начинаются непонятки.

Какие непонятки?

Короче, проверяй на рекомендованных параметрах сперва. Также проверь на разрешении пониже, возможно твоё железо не осиливает. Mp3 тоже замени на aac.

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

возможно твоё железо не осиливает.

Воспроизведение имею в виду, ты же на нетбуке воспроизводишь.

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

Зачем тебе потолок на скринкасте, блин?

Микрофон нормальный.

возможно твоё железо не осиливает.

Просматривал на той же машине файлы дампа из var/www/screencast/chunk-#.ts

Короче, проверяй на рекомендованных параметрах сперва.

УГ-видео не нужно.

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

Микрофон нормальный.

Facepalm… Для речи 320кбит/с это огромный оверхед. Дальше смысла нет разговаривать, попахивает религией :D

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

640x480 + говнозвук = true
1920х1080 + HDsound over9999 = false
Странно, но религией не пахнет...

попахивает религией

Моя религия = html + php + js
Нет ничего канонiчного, что я мало разбираюсь в звуке.

Дальше смысла нет разговаривать, попахивает религией :D

Сам устал, что даже аватарку с реальным лицом (пусть и фотожабленом с терминатором) заменил на АбуЯго. Кстати клюв Яго напоминает тролфейс, вы не находите?

k0ttee ()

брать с VGA и писать в файл.

FAIL

robot12 ★★★★★ ()
Ответ на: комментарий от robot12

FAIL

Выход был использован как вход, значит либо Штирлиц перехитрил Мюллера и вышел во вход, либо безсознательное намекает: пора перестать откладывать секас на потом.

Где купить VGA_FAIL кабель? :D

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

VLC на всех кодеках мажет видео. Эффект blur не нужен.

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