Search code examples
ffmpegwowza

Send stream from hdhomerun to AWS EC2 instance


I'm trying something odd to get fun. Send stream from hdhomerun to AWS EC2 instance.

First aproach. Read stream with ffmpeg (tested locally successfully)

hdhomerun_config discover sya my device have ip 192.168.1.200 so I open port on my router in this way

<my home public ip>:5005 -> 192.168.1.200:80
<my home public ip>:5004 -> 192.168.1.200:5004

w3m and telnet say everything is ok.

But...

from EC2 instance I do

/usr/bin/ffmpeg -y -i 'http://<my home public ip>:5004/auto/v5057?transcode=internet240' -t 12 -vn -acodec pcm_s16le -ar 16000 -ac 1 '/tmp/test.wav'

In tuner1 I can see...

Virtual Channel none
Frequency   698.000 MHz
Program Number  186
Modulation Lock t8qam64
Signal Strength 89%
Signal Quality  100%
Symbol Quality  100%
Streaming Rate  none
Resource Lock   <EC2 public ip>

In hdhomerun system logs...

19700102-10:27:25 Tuner: tuner0 tuning 5057 Telecinco (t8qam64:698MHz-186)
19700102-10:27:25 Tuner: tuner0 streaming http to <EC2 public ip>:34124

Everything seems ok but ffmpeg don't get any data.

Seccond aproach. Send stream to wowza

I have a wowza server running in EC2 instance

From a linux box at my home I do.

root# /usr/bin/hdhomerun_config 1250D7B2 scan /tuner1 scan.log
root# /usr/bin/hdhomerun_config 1250D7B2 set /tuner1/channel auto:651000000
root# /usr/bin/hdhomerun_config 1250D7B2 get /tuner1/streaminfo
root# /usr/bin/hdhomerun_config 1250D7B2 get /tuner1/program 190
root# /usr/bin/hdhomerun_config 1250D7B2 set /tuner1/target rtp://<wowza server public ip>:1935/TEST/hdhr
root# echo $?
root# 0

Ends without error buy doesn't work This was a long shot but ....

Any ideas to do this.

Thanks !!!


Solution

  • Finally I use ffmpeg as encoder in this way...

    /usr/bin/ffmpeg -i http://192.168.1.50:5004/auto/v5055?transcode=internet240 -vn -ar 16000 -ac 1 -f rtsp -rtsp_transport tcp -muxdelay 0.1 rtsp://22.22.22.22/XXX/STREAM
    

    To daemonize I did this...

    [Unit]
    Description=XXX ffserver incoming stream
    
    [Service]
    Type=simple
    Restart=always
    RestartSec=1
    ExecStart=/usr/bin/ffmpeg -i "http://192.168.1.50:5004/auto/v5055?transcode=internet240" -vn -ar 16000 -ac 1 -f rtsp -rtsp_transport tcp -muxdelay 0.1 rtsp://22.22.22.22/XXX/STREAM
    [Install]
    WantedBy=multi-user.target