LINUX.ORG.RU

Mencoder - запись видео с IP камеры


2

1

Пытаюсь писать с камеры D-Link DSC-2103 все время какая-то ерунда со звуком получается - то не пишется, то пишутся какие то шумы с ошибками
Сразу скажу - mencoder стоит из репозетория

mencoder -o ~samba/video/video_sz_$DATE.avi rtsp://user:pass@ip/live1.sdp -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:acodec=ac3:abitrate=128

ошибки

Skipping frame!
Pos:   6.7s    281f ( 0%)  9.85fps Trem:   0min   0mb  A-V:0.053 [545:128]
Skipping frame!
Pos:   6.9s    291f ( 0%)  9.94fps Trem:   0min   0mb  A-V:0.053 [535:127]
что то в гугле много всего написано, а корректно работающего варианта не найду.

★★★
Ответ на: комментарий от wolverin

видео без звука пишется нормально, звук через родной аквит-х в браузере слышится тоже.

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

firestarter

вчера не получалось его никак запустить, сегодня по вашему примеру такую ошибку получаю, ищу где этот семпл рейт задается (

$ ffmpeg -i rtsp://user:pass@ip/live1.sdp -acodec copy -vcodec copy ~samba/video/video_sz_.mkv
FFmpeg version SVN-r0.5.9-4:0.5.9-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jun 10 2012 08:33:06, gcc: 4.4.5

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 1000.00 (1000/1)
Input #0, rtsp, from 'rtsp://user:132809@192.168.36.223/live1.sdp':
  Duration: N/A, start: 0.008856, bitrate: N/A
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], 1k tbr, 90k tbn, 30k tbc
    Stream #0.1: Audio: 0x0000, 0 channels, s16
Output #0, matroska, to '/var/spool/samba//video/video_sz_.mkv':
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], q=2-31, 90k tbn, 30k tbc
    Stream #0.1: Audio: 0x0000, 0 channels, s16
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
[matroska @ 0x125c370]sample rate not set
Could not write header for output file #0 (incorrect codec parameters ?)

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

понятно что не создается файл, но такое впечатление по логам, что звук писаться тоже не будет

Stream #0.1: Audio: 0x0000, 0 channels, s16

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

firestarter

ругается на libvpx

Unknown encoder 'libvpx'
словом так без звука пишется
ffmpeg -i rtsp://.../live1.sdp -an -y -r 25 ~samba/video/video_sz_.mkv
обновил прошивку на камере на бету - тоже самое
написал в д-линк сапорт, ждут ответа, может реально в потоке нет звуковой дорожки ((
Input #0, rtsp, from 'rtsp://.../live1.sdp':
  Duration: N/A, start: 0.-90978, bitrate: N/A
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], 1k tbr, 90k tbn, 30k tbc
    Stream #0.1: Audio: 0x0000, 0 channels, s16

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

ругается на libvpx

У тебя такого видеокодека нет. Не принципиально, можно другой указать.

firestarter ★★★☆
()
Последнее исправление: firestarter (всего исправлений: 1)

У меня как-т было, что не захватывались одновременно потоки, которые были на соседних udp-портах. В настройках девайса поменял порты - заработало.
А просто плеером проигрывается?

madcore ★★★★★
()

а разве rtsp поток умеет звук передавать?

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

madcore

да там только один порт для rtsp 554 (

fbiagent

так то у меня знакомый пишет даже в мп3, но пересобрав менкодер конечно.

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

да там только один порт для rtsp 554 (

Сами потоки описываются в файле live1.sdp, видео и звук могут быть раздельно

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

madcore
любым

поставил рекомендуемый д-линком d-viewcam - звук есть, никаки портов не указывал дополнительно, просто обращение по http://....:80

Сами потоки описываются в файле live1.sdp

а как эти потоки посмотреть из этого файла? wget-ом ничего в нем почти нет

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

как mplayer его проигрывает?

а где проверить - на серверах х-ов нет, клиентские машины все под виндой?

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

Он под венду есть

поставил SMPlayer под винду который, только он падает почему то у меня в ошибку с ничего не говорящими логами, но 1-2 секунды показывает, но звук получаемый с помощью Selected audio codec: [pcm] afm: pcm (Uncompressed PCM) выглядит (как и через mencoder тем же кодеком) ужасным свистящим шумом.

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

а подскажите еще по ffmpeg - как улучшить качество картинки, а то получаются квадраты на изображении, уже какие только параметры не крутил, помогает только -sameq но размер файла просто огромный в таком случае???

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

попытался

$ mplayer rtsp://.../live1.sdp
для звука ошибка
Unknown MPlayer format code for MIME type "audio/G726-32"
судя по гуглу - не у меня одного ((

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

нагородил уже какой то огород

$ ffmpeg -ar 16000 -acodec g726 -ac 1 -b 1700k -i rtsp://.../live1.sdp -r 25 -ar 16000 -ac 1 -ab 8k -y /var/spool/samba/video/video.avi
FFmpeg version SVN-r0.5.9-4:0.5.9-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jun 10 2012 08:33:06, gcc: 4.4.5
[g726 @ 0x12988d0]Samplerate is invalid

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 1000.00 (1000/1)
    Last message repeated 38 times
Input #0, rtsp, from 'rtsp://192.168.36.223/live1.sdp':
  Duration: N/A, start: 0.009122, bitrate: N/A
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], 1k tbr, 90k tbn, 30k tbc
    Stream #0.1: Audio: g726, 0 channels, s16
Output #0, avi, to '/var/spool/samba/video/video.avi':
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], q=2-31, 1700 kb/s, 90k tbn, 25 tbc
    Stream #0.1: Audio: mp2, 16000 Hz, mono, s16, 8 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
[g726 @ 0x12988d0]Samplerate is invalid
Error while opening codec for input stream #0.1
что ж ему надо то????

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

и до кучи ((

$ ffmpeg -i rtsp://.../live1.sdp -r 25 -acodec g726 -ar 16000 -ac 1 -y /var/spool/samba/video/video.avi
FFmpeg version SVN-r0.5.9-4:0.5.9-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jun 10 2012 08:33:06, gcc: 4.4.5

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 1000.00 (1000/1)
Input #0, rtsp, from 'rtsp://.../live1.sdp':
  Duration: N/A, start: 0.-05956, bitrate: N/A
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], 1k tbr, 90k tbn, 30k tbc
    Stream #0.1: Audio: 0x0000, 0 channels, s16
Output #0, avi, to '/var/spool/samba/video/video.avi':
    Stream #0.0: Video: mpeg4, yuv420p, 1024x768 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream #0.1: Audio: g726, 16000 Hz, mono, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Unsupported codec (id=0) for input stream #0.1
в сапорте д-линка посоветовали vcl использовать, cvlc что то не нашел в репозетории

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

поставил vlc, запустил получил ошибку

cvlc rtsp://video/live1.sdp --sout '#standard{access=file,dst='/var/spool/samba/video/video.avi'}' --run-time=60
VLC media player 1.1.3 The Luggage (revision exported)
Warning: call to srand(1350450276)
Warning: call to rand()
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0xf34670] inhibit interface error: Failed to connect to the D-Bus session daemon: /usr/bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.

[0xf34670] main interface error: no suitable interface module
[0xf1e5c0] main interface error: no suitable interface module
[0xe39120] main libvlc error: interface "globalhotkeys,none" initialization failed
[0xf1e5c0] dummy interface: using the dummy interface module...
[0xf45a40] main mux error: cannot add this stream
[0xf9ecd0] main decoder error: cannot create packetizer output (g726)
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (65536).  429 bytes of trailing data will be dropped!

[0xf45a40] mux_avi mux: stream[0] duration:60 totalsize:14755468 frames:1473 fps:24.353888 KiB/s:1905
и опять этот кодер g726 ((

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

Много чего. Доустановить в mplayer кодек g726 например. Этот кодек для речи. Странно почему именно им кодируется, но видимо так надо. Попробовать использовать в mencoder'е -oac mp3lame -lameopts cbr. Поиграться с resampling'ом звука. А чтобы квадратиков не было при разумном размере файла - более современные кодеки. Например -ovc xvid -xvidencopts vhq=1:bitrate=по вкусу. Проверять LA и нагрузку проца при записи. Если зашкаливает - искать варианты как отрешать.

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

Пересобирать ненужно. В mencoder всё отлично без пересборки подключается. В твоём дистре должен быть пакет с кодеком. Если нету - возьми с сайта mplayerhq кодек пак и разархивируй куда следует. Да и вообще не факт, что сборка пакетов это так ужасно.

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

auto12884835

сборка пакета не ужасно, просто лишний геморой до следующего обновления. хорошо, завтра посмотрю как к mencoder-у подключить дополнительные пакеты (просто судя по невнимательному чтению гугла везде писалось о сборке из исходников для подключения всяких mp3, xvid и тыды)

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

кстати VLC нынче вообще «кривой»

поставил под винду версию 2.0.4 и все работает (и звук, и видео) что ж так сильно обновления отстают ((

$ vlc -version
VLC media player 1.1.3 The Luggage (revision exported)
vlc: unknown option or missing mandatory argument `-e'
Try `vlc --help' for more information.
wolverin@server:~$ vlc --version
VLC media player 1.1.3 The Luggage (revision exported)
VLC version 1.1.3 The Luggage (exported)
Compiled by build-squeeze on coredump.lan (Jun  8 2011 21:40:59)
Компилятор: gcc version 4.4.5 (Debian 4.4.5-8)

$ cat /etc/debian_version
6.0.6

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

вообщем проблему решил таким способом
1. добавил в репозеторий

deb http://www.deb-multimedia.org squeeze main non-free
2. импортировал ключи
gpg --keyserver subkeys.pgp.net --recv-key 1F41B907

gpg --fingerprint 1F41B907

gpg --armor --export 1F41B907| apt-key add -
3. ну и собсна обновился до последних нормально скомпилированых версий ))

осталось разобраться как этот злой G726 в нормальный кодек конвертнуть.

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