Поток ввода для потокового вывода с помощью «avserver»

Я пытаюсь использовать пакет avserver для повторной передачи потока с моей IP-камеры чтобы иметь возможность записывать этот поток и получать к нему удаленный доступ без необходимости дважды передавать его с камеры, чтобы избежать перегрузки беспроводной сети.

Перейдя по ссылке https://libav.org/avserver.html, я придумал следующую команду:

avserver -f /etc/avserver.conf & avconv -i http://user:[email protected]/videostream.asf http://localhost:80/feed1.ffm

Это дает мне следующий вывод

avserver version 0.8.3-6:0.8.3-6ubuntu2, Copyright (c) 2000-2012 the Libav developers
built on Oct  1 2012 15:03:26 with gcc 4.7.2
avconv version 0.8.3-6:0.8.3-6ubuntu2, Copyright (c) 2000-2012 the Libav developers
built on Oct  1 2012 15:03:26 with gcc 4.7.2
Mon Jan 13 20:13:44 2014 AVserver started.
[asf @ 0x153cac0] max_analyze_duration reached
[asf @ 0x153cac0] Estimating duration from bitrate, this may be inaccurate
Input #0, asf, from 'http://admin:[email protected]/videostream.asf':
Duration: N/A, start: 0.000000, bitrate: 32 kb/s
Stream #0.0: Video: mjpeg, yuvj422p, 320x240, 100 tbr, 1k tbn, 1k tbc
Stream #0.1: Audio: adpcm_ima_wav, 8000 Hz, 1 channels, s16, 32 kb/s
Incompatible pixel format 'yuvj422p' for codec 'mpeg1video', auto-selecting format 'yuv420p'
[buffer @ 0x153ec80] w:320 h:240 pixfmt:yuvj422p
[avsink @ 0x1544820] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x1543460] w:320 h:240 fmt:yuvj422p -> w:320 h:240 fmt:yuv420p flags:0x4
[mp2 @ 0x1544aa0] Requested sampling rate unsupported using closest supported (16000)
Mon Jan 13 20:13:50 2014 Feed '/tmp/feed1.ffm.ffm' stream number does not match registered feed
Output #0, ffm, to 'http://localhost:80/feed1.ffm':
Metadata:
encoder         : Lavf53.21.0
Stream #0.0: Video: mpeg1video, yuv420p, 320x240 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 1000k tbn, 60 tbc
Stream #0.1: Audio: mp2, 16000 Hz, 1 channels, s16, 128 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> mpeg1video)
Stream #0:1 -> #0:1 (adpcm_ima_wav -> mp2)
Press ctrl-c to stop encoding
Mon Jan 13 20:13:50 2014 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 4096

Когда я пытаюсь открыть этот поток через медиаплеер VLC, используя

http://192.168.1.15/test.asf

Я получаю следующий дополнительный вывод

Mon Jan 13 20:17:39 2014 192.168.1.6 - - [GET] "/test.asf HTTP/1.1" 200 115s dup=12210 drop=0
Mon Jan 13 20:17:39 2014 Codec for stream 0 does not use global headers but container format requires global headers
Mon Jan 13 20:17:39 2014 Codec for stream 1 does not use global headers but container format requires global headers

И я ничего не получаю в медиаплеере VLC. Я не совсем уверен, что происходит или как это исправить, поэтому любое понимание этого будет очень кстати.


person Gustavo Sgarbi Campos    schedule 13.01.2014    source источник
comment
Добавьте AVOptionVideo flags +global_header AVOptionAudio flags +global_header в теги ‹Stream› ‹/Stream› в avserver.conf   -  person Yuvraj Kakkar    schedule 26.02.2014


Ответы (1)


попробуйте использовать другой формат, например mp3

только что

Судо ВИМ /etc/avserver.conf

закомментировать раздел с

#<stream test.asf>
#</Stream>

раскомментируйте раздел mp3 и попробуйте использовать его.

<stream test.mp3></Stream>

это будет работать, если вы работаете с потоком, который является только аудио.

для видео

просто используйте незакомментированный раздел для

<Stream test1.mgp><Stream>
person tiras muturi    schedule 14.02.2017