• Документация libmpg123

    From Denis Sovkov@2:5020/570.77 to All on Fri Dec 22 22:24:46 2023

    Hello everybody!

    Решил написать интернет - радиоприемник. Собственно, уже почти все готово все работает. о по HTTP. Для HTTPS прикрутил OpenSSL - коннектится, туннель создается, все ок. о беда в том, что OpenSSL предоставляет функции SSL_read и SSL_write для работы с защищенным соединением. В свою очередь, mpg123 имеет функцию mpg123_read, которая читает поток из обычного сокета. В идеале было бы вычитавать защищенный поток с помощью SSL_read, а затем скармливать в mpg123 считанный буфер, а оно уже пусть гонит дальше. о не смог найти документацию по mpg123. То ли лыжи не едут, то ли... Сам пример работы с mpg123 и libao подсмотрел на Stack Overflow. Сайт mpg123 об этом молчит, в исходниках пока копаться руки не дошли. Может кто-то делал что-то подобное?

    Denis


    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: --=<(R2AIV station)>=-- (2:5020/570.77)
  • From Nil A@2:5015/46 to Denis Sovkov on Sat Dec 23 00:39:26 2023
    * Originally in ru.unix
    * Crossposted in su.hamradio
    Hello, Denis!

    Friday December 22 2023 22:24, from Denis Sovkov -> All:

    Решил написать интернет - радиоприемник.

    Для большинста здесь фидошников, радиоприёмник через Интернет - это SDR радиво с раздачей через WEB ;-)

    Какой-нибудь такой http://kiwisdr.com но на малинке у них получается ограничение в 4 пользователя онлайн, что всё время занято обычно.
    Или идерладцы ваще свой запили SDR офигенный, на писюке, и там всегда свободно http://websdr.ewi.utwente.nl:8901

    Собственно, уже почти все готово все работает. о по HTTP. Для HTTPS прикрутил OpenSSL - коннектится, туннель создается, все ок. о беда в
    том, что OpenSSL предоставляет функции SSL_read и SSL_write для работы
    с защищенным соединением. В свою очередь, mpg123 имеет функцию mpg123_read, которая читает поток из обычного сокета. В идеале было бы вычитавать защищенный поток с помощью SSL_read, а затем скармливать в mpg123 считанный буфер, а оно уже пусть гонит дальше. о не смог найти документацию по mpg123. То ли лыжи не едут, то ли... Сам пример работы
    с mpg123 и libao подсмотрел на Stack Overflow. Сайт mpg123 об этом
    молчит, в исходниках пока копаться руки не дошли. Может кто-то делал что-то подобное?

    Самая лучшая документация - исходный код. Скачал последний тарбол с https://sourceforge.net/projects/mpg123/files/latest/download А там, всё написано в файле doc/READERS.

    Somehow the differing ways of getting compressed data into libmpg123
    reached unholy numbers with the years.
    ...
    The frame struct has two parts concerned with input streams.

    struct reader *rd; /* pointer to the reading functions */
    struct reader_data rdat; /* reader data and state info */

    Если не разберёшься, то пиши.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
  • From Denis Sovkov@2:5020/570.77 to Nil A on Sun Dec 24 20:37:48 2023
    * Replying to a msg in CARBONZ (My personal EchoMail)


    Hello Nil!

    23 Dec 23 00:39, you wrote to me:

    Решил написать интернет - радиоприемник.
    Для большинста здесь фидошников, радиоприёмник через Интернет - это
    SDR радиво с раздачей через WEB ;-)

    у так то оно, конечно да, но для этого у меня есть Kenwood R-2000 и rtl-sdr тоже, тут задача именно хавать стримы ))

    идерладцы ваще свой запили SDR офигенный, на писюке, и там всегда
    свободно http://websdr.ewi.utwente.nl:8901

    Там даже не писюк, а плисина. Третий Спартан вроде. Я тоже пытался автономный сдр запилить на спартане, но времени нет и с АЦП там какой-то косяк был. адеюсь, получится вернуться к этой идее.

    struct reader *rd; /* pointer to the reading functions */
    struct reader_data rdat; /* reader data and state info */

    Спасибо, попробую. Пока жру через SSL_read() в буфер, а его уже отдаю mpg123_decode(), но опять что-то пошло не так, буду разбираться.


    Denis


    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: --=<(R2AIV station)>=-- (2:5020/570.77)
  • From Denis Sovkov@2:5020/570.77 to Nil A on Sun Dec 24 20:48:36 2023

    Hello Nil!

    23 Dec 23 00:39, you wrote to me:

    свободно http://websdr.ewi.utwente.nl:8901

    Впомнил. Они там с плисины пор ethernet отдают поток на комп, по этому эзернету-же и управляют платой. Этот приемник меня в радиолюбительство втянул 10 лет назад, купил деген, получил позывной и понеслась. В хорошее прохождение там даже себя слышу в телеграфе. А с Карата на 2Вт докрикивался до Тульского СДР на короковке...

    Denis


    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: --=<(R2AIV station)>=-- (2:5020/570.77)