Привет всем!
Хочу сделать трансляцию спутниковых каналов на сайт.
Имеется: Комп c OC Linux Debian 5.0 и vlc, а так же спутниковая карта SkyStar3
Трансляции каналов в сеть по протоколу HTTP достичь удалось такой командой: vlc -vvv --color --ttl 12 --programs=12,13,14,15,16 dvb: --dvb-frequency=3645000 --dvb-srate=28000000 --dvb-voltage=18 --sout '#duplicate{dst=std{access=http,mux=asf,url=192.168.2.7:8010},select="program=12", dst=std{access=http,mux=asf,url=192.168.2.7:8011},select="program=13", dst=std{access=http,mux=asf,url=192.168.2.7:8012},select="program=14", dst=std{access=http,mux=asf,url=192.168.2.7:8013},select="program=15", dst=std{access=http,mux=asf,url=192.168.2.7:8014},select="program=16" }'
И для просмотра потока нужны кодеки mpgv и mpga. Через vlc-player воспроизводит отлично
Но для трансляции на сайт нужен FLV поток, и я пытаюсь перекодировать поток который пришёл с тарелки такой командой(для одного канала):
vlc -vvv --color --ttl 12 --ts-es-id-pid --programs=13 dvb: --dvb-adapter=0 --dvb-frequency=3645000 --dvb-srate=28000000 --dvb-voltage=18 --sout '#transcode{vcodec=FLV1,acodec=mpga,samplerate=22050,ab=64,vb=256,width=320,height=240,channels=13}:{dst="standard{access=http,mux=ts,dst=192.168.2.7:8011}'
На что он мне выводит:
[00000298] dvb access debug: card can do QPSK
[00000298] dvb access debug: End of capability list
[00000298] dvb access debug: trying to tune the frontend...
[00000298] dvb access debug: frequency 3645000 is in C-band (lower)
[00000298] dvb access debug: using inversion=2
[00000298] dvb access debug: using fec=9
[00000298] dvb access debug: using voltage=18
[00000298] dvb access debug: using tone=1
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/dvr0
[00000298] dvb access debug: setting filter on PAT
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 0
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/ca0
[00000298] dvb access warning: CAMInit: opening CAM device failed (No such file or directory)
[00000298] main access debug: using access2 module "dvb"
[00000300] main private debug: pre buffering
[00000298] dvb access debug: frontend has acquired signal
[00000298] dvb access debug: frontend has acquired carrier
[00000298] dvb access debug: frontend has acquired stable FEC
[00000298] dvb access debug: frontend has acquired sync
[00000298] dvb access debug: frontend has acquired lock
[00000298] dvb access debug: - Bit error rate: 0
[00000298] dvb access debug: - Signal strength: 43176
[00000298] dvb access debug: - SNR: 52171
[00000300] main private debug: received first data for our buffer
[00000300] main private debug: prebuffering done 376 bytes in 0s - 1 kbytes/s
[00000289] main input debug: creating demux: access='dvb' demux='' path=''
[00000301] main demuxer debug: looking for demux2 module: 44 candidates
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 17
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 18
[00000301] main demuxer debug: using demux2 module "ts"
[00000289] main input debug: looking for a subtitle file in /root/
[00000301] ts demuxer debug: DEMUX_SET_GROUP -1 0x9355dd8
[00000289] main input debug: starting in async mode
[00000298] dvb access warning: unimplemented query in control
[00000289] main input debug: `dvb:' successfully opened
libdvbpsi error (PSI decoder): TS discontinuity (received 2, expected 0) for PID 0
[00000301] ts demuxer debug: PATCallBack called
[00000301] ts demuxer debug: new PAT ts_id=7 version=1 current_next=1
[00000301] ts demuxer debug: * number=0 pid=16
[00000301] ts demuxer debug: * number=11 pid=100
[00000301] ts demuxer debug: * number=12 pid=200
[00000301] ts demuxer debug: * number=13 pid=300
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 300
[00000301] ts demuxer debug: * number=14 pid=400
[00000301] ts demuxer debug: * number=15 pid=500
[00000301] ts demuxer debug: * number=16 pid=600
[00000301] ts demuxer debug: * number=17 pid=700
libdvbpsi error (PSI decoder): TS discontinuity (received 5, expected 0) for PID 300
[00000301] ts demuxer debug: PMTCallBack called
[00000301] ts demuxer debug: new PMT program number=13 version=4 pid_pcr=303
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 303
[00000301] ts demuxer debug: * es pid=301 type=2 fcc=mpgv
[00000289] main input debug: selecting program id=13
[00000323] main packetizer debug: looking for packetizer module: 17 candidates
[00000323] main packetizer debug: using packetizer module "packetizer_mpegvideo"
[00000323] main packetizer debug: thread 3021278096 (decoder) created at priority 0 (input/decoder.c:159)
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 301
[00000301] ts demuxer debug: * es pid=302 type=3 fcc=mpga
[00000345] main packetizer debug: looking for packetizer module: 17 candidates
[00000345] main packetizer debug: using packetizer module "mpeg_audio"
[00000345] main packetizer debug: thread 3012815760 (decoder) created at priority 0 (input/decoder.c:159)
[00000298] dvb access debug: Opening device /dev/dvb/adapter0/demux0
[00000298] dvb access debug: DMXSetFilter: DMX_PES_OTHER for PID 302
[00000301] ts demuxer debug: * es pid=303 type=6 dr->i_tag=0x52
[00000301] ts demuxer debug: * Stream Component Identifier: 3
[00000301] ts demuxer debug: * es pid=303 type=6 *unknown*
libdvbpsi error (PSI decoder): TS discontinuity (received 15, expected 0) for PID 17
[00000301] ts demuxer debug: PSINewTableCallBack: table 0x42(66) ext=0x7(7)
[00000301] ts demuxer debug: SDTCallBack called
[00000301] ts demuxer debug: new SDT ts_id=7 version=8 current_next=1 network_id=1
[00000301] ts demuxer debug: * service id=11 eit schedule=0 present=1 running=4 free_ca=0
[00000301] ts demuxer debug: - type=1 provider=Gascom name=TV ZVEZDA +7
[00000289] main input debug: EsOutProgramMeta: number=11
[00000289] main input debug: - Name = TV ZVEZDA +7
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000289] main input debug: Trying to add meta for non-existing program
[00000301] ts demuxer debug: * service id=12 eit schedule=0 present=1 running=4 free_ca=0
[00000301] ts demuxer debug: - type=1 provider=Gascom name=TV ZVEZDA +2
[00000289] main input debug: EsOutProgramMeta: number=12
[00000289] main input debug: - Name = TV ZVEZDA +2
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000289] main input debug: Trying to add meta for non-existing program
[00000301] ts demuxer debug: * service id=13 eit schedule=0 present=1 running=4 free_ca=0
[00000301] ts demuxer debug: - type=1 provider=Gascom name=NTV7
[00000289] main input debug: EsOutProgramMeta: number=13
[00000289] main input debug: - Name = NTV7
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000301] ts demuxer debug: * service id=14 eit schedule=0 present=1 running=4 free_ca=0
[00000301] ts demuxer debug: - type=1 provider=Gascom name=TNT
[00000289] main input debug: EsOutProgramMeta: number=14
[00000289] main input debug: - Name = TNT
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000289] main input debug: Trying to add meta for non-existing program
[00000301] ts demuxer debug: * service id=15 eit schedule=0 present=1 running=4 free_ca=0
[00000301] ts demuxer debug: - type=1 provider=Gascom name=DTV +7
[00000289] main input debug: EsOutProgramMeta: number=15
[00000289] main input debug: - Name = DTV +7
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000289] main input debug: Trying to add meta for non-existing program
[00000301] ts demuxer debug: * service id=16 eit schedule=0 present=1 running=4 free_ca=0
[00000301] ts demuxer debug: - type=1 provider=Gascom name=TV3
[00000289] main input debug: EsOutProgramMeta: number=16
[00000289] main input debug: - Name = TV3
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000289] main input debug: Trying to add meta for non-existing program
[00000301] ts demuxer debug: * service id=17 eit schedule=0 present=1 running=4 free_ca=1
[00000301] ts demuxer debug: - type=1 provider=Gascom name=Sport
[00000289] main input debug: EsOutProgramMeta: number=17
[00000289] main input debug: - Name = Sport
[00000289] main input debug: - Provider = Gascom
[00000289] main input debug: - Type = Digital television service
[00000289] main input debug: - Status = Running
[00000289] main input debug: Trying to add meta for non-existing program
[00000301] ts demuxer warning: first packet for pid=303 cc=0x0
[00000301] ts demuxer warning: first packet for pid=302 cc=0x3
[00000345] mpeg_audio packetizer debug: MPGA channels:2 samplerate:48000 bitrate:256
[00000291] main stream output debug: adding a new input
[00000292] stream_out_transcode private debug: creating audio transcoding from fcc=`mpga' to fcc=`mpga'
[00000352] main decoder debug: looking for decoder module: 24 candidates
[00000352] main decoder debug: using decoder module "mpeg_audio"
[00000353] main encoder debug: looking for encoder module: 9 candidates
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000353] ffmpeg encoder debug: libavcodec initialized (interface 3345152 )
[00000353] ffmpeg encoder debug: found encoder MPEG Audio layer 1/2
[00000353] main encoder debug: using encoder module "ffmpeg"
[00000368] main private debug: looking for audio filter2 module: 5 candidates
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000368] mpgatofixed32 private debug: mpga->fl32, bits per sample: 0
[00000368] main private debug: using audio filter2 module "mpgatofixed32"
[00000375] main private debug: looking for audio filter2 module: 5 candidates
[00000375] linear_resampler private debug: fl32/48000KHz/2->s16l/22050KHz/2
[00000375] main private debug: using audio filter2 module "linear_resampler"
[00000378] main private debug: looking for audio filter2 module: 5 candidates
[00000378] audio_format private debug: fl32->s16l, bits per sample: 32
[00000378] main private debug: using audio filter2 module "audio_format"
[00000352] mpeg_audio decoder debug: MPGA channels:2 samplerate:48000 bitrate:256
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: waiting for sequence start
[00000323] packetizer_mpegvideo packetizer debug: size 720x576 fps=25.000
[00000291] main stream output debug: adding a new input
[00000292] stream_out_transcode private debug: creating video transcoding from fcc=`mpgv' to fcc=`FLV1'
[00000380] main decoder debug: looking for decoder module: 24 candidates
[00000380] main decoder debug: using decoder module "libmpeg2"
[00000381] main encoder debug: looking for encoder module: 9 candidates
[00000381] ffmpeg encoder debug: libavcodec already initialized
[00000381] ffmpeg encoder debug: found encoder Flash Video
[00000381] main encoder debug: using encoder module "ffmpeg"
[00000381] main encoder debug: removing module "ffmpeg"
[00000380] libmpeg2 decoder debug: 720x576 (display 720,576), aspect 576000, sar 16:15, 25.000 fps
[00000382] main private warning: dts != current_pts (-131626)
[00000382] main private warning: vout synchro warning: pts != current_date (-40000)
[00000292] stream_out_transcode private debug: decoder aspect is 576000:432000
[00000292] stream_out_transcode private debug: source pixel aspect is 1.066667:1
[00000292] stream_out_transcode private debug: scaled pixel aspect is 1.000000:1
[00000292] stream_out_transcode private debug: source 720x576, crop 720x576, destination 320x240, padding 320x240
[00000292] stream_out_transcode private debug: encoder aspect is 576000:432000
[00000381] main encoder debug: looking for encoder module: 9 candidates
[00000381] ffmpeg encoder debug: libavcodec already initialized
[00000381] ffmpeg encoder debug: removing common factors from framerate
(flv@0x93e6d00)
[00000381] ffmpeg encoder debug: found encoder Flash Video
[00000381] main encoder debug: using encoder module "ffmpeg"
[00000383] main private debug: looking for crop padd module: 1 candidate
[00000383] ffmpeg private debug: input: 320x240 -> 720x576
[00000383] ffmpeg private debug: input: 720x576 I420 -> 320x240 I420
[00000383] ffmpeg private debug: libavcodec already initialized
[00000383] main private debug: using crop padd module "ffmpeg"
Доходит до последней строчки и всё останавливается. Что я делаю не так? Как мне перекодировать этот канал в FLV поток?