Menu

#91 IDJC/GIT 7e4ff89 libshout: No connect to Shoutcast v1

v1.0 (example)
closed-wont-fix
nobody
None
5
2023-09-18
2016-09-24
Moonbase
No

Having built IDJC (7e4ff89) from Git, including the new libshout-idjc, I find that I CAN stream to:
a localhost Icecast v2.3.3 shoutcast input
a localhost liquidsoap v1.1.1 shoutcast v1 input harbor
* a remote Shoutcast v1.9.8 (Linux) server

but NOT to
my remote Icecast v2.4.1 shoutcast input
my remote Icecast v2.4.1 Icecast mount
* my remote liquidsoap v1.1.1 shoutcast input harbor

Using an older build of IDJC (11960f8; 2015-09-21 13:44:56) – and its accompanying libshout-idjc – it’s no problem to stream to the latter (remote) inputs, using the exact same credentials & settings.

Is there any possibility that there’s still something wrong with the newer libshout-idjc (especially regarding the shoutcast v2 protocol stuff, maybe making it somehow incompatible with shoutcast v1)?

If you need any more information, let me know.

Discussion

  • Stephen Fairchild

    You reported difficulty running autoreconf -ifs on the libshout-idjc git sources so I uploaded a release for you to test. https://sourceforge.net/projects/libshoutidjc.idjc.p/?source=navbar. Just hit the download button. I didn't bump the version number. No need to autoreconf -ifs. It should just build.

    In case you are wondering, this is a recreation of libshout-idjc based off of the upstream developer's repository.

     
  • Moonbase

    Moonbase - 2016-09-27

    Thanks, Stephen. The one you linked to builds & installs cleanly, but shows exactly the same behaviour.

    By pure chance I also tried IP addresses instead of just server names and found that the problem seems twofold:

    1. A name resolution problem or the like.
    2. A problem connecting to Shoutcast inputs (like a liquidsoap harbor).

    Here are my findings:

    Remote ICECAST:

    a) Remote Icecast Master (my server) and hostname → doesn’t work

    encoder_start: resampler will not be used
    encoder_start: successfully started the encoder
    streamer_connect: established connection to the server
    streamer_main: connection failed, shout_get_error reports -4 No error
    streamer_main: disconencting from server
    encoder_unregister_client called
    encoder_unregister_client finished
    streamer_main: disconnection complete
    streamer_disconnect: function called while not streaming
    command failed for command: server_disconnect
    encoder_plugin_terminate: waiting for encoder to finish
    live_mp3_encoder_main: flushing 547 bytes
    live_mp3_encoder_main: performing cleanup
    live_mp3_encoder_main: finished cleanup
    encoder_stop: encoder is stopped
    

    b) Remote Icecast Master (my server) and IP address → works

    Icecast Master and IP addr:
    
    encoder_start: resampler will not be used
    encoder_start: successfully started the encoder
    streamer_connect: established connection to the server
    streamer_main: connected to server - awaiting serial 1413726784
    live_mp3_encoder_main: flushing 547 bytes
    streamer_main: packet is metadata: <Unknown> - <Unknown>
    
    streamer_disconnect: disconnection_request is set
    streamer_main: disconnect_pending is set
    streamer_main: issued flush to mixer, disconnecting from server when final packet of serial=1413726784 arrives
    live_mp3_encoder_main: flushing 547 bytes
    streamer_main: final packet with serial 1413726784
    streamer_main: last packet wrote, disconnecting
    streamer_main: disconencting from server
    encoder_unregister_client called
    encoder_unregister_client finished
    streamer_main: disconnection complete
    streamer_disconnect: disconnection complete
    encoder_plugin_terminate: waiting for encoder to finish
    live_mp3_encoder_main: performing cleanup
    live_mp3_encoder_main: finished cleanup
    encoder_stop: encoder is stopped
    

    Remote SHOUTCAST:

    c) Remote Shoutcast Master (my server; a liquidsoap harbor) and hostname → doesn’t work

    encoder_start: resampler will not be used
    encoder_start: successfully started the encoder
    streamer_connect: established connection to the server
    streamer_main: connection failed, shout_get_error reports -4 No error
    streamer_main: disconencting from server
    encoder_unregister_client called
    encoder_unregister_client finished
    streamer_main: disconnection complete
    streamer_disconnect: function called while not streaming
    command failed for command: server_disconnect
    encoder_plugin_terminate: waiting for encoder to finish
    live_mp3_encoder_main: flushing 547 bytes
    live_mp3_encoder_main: performing cleanup
    live_mp3_encoder_main: finished cleanup
    encoder_stop: encoder is stopped
    

    d) Remote Shoutcast Master (my server; a liquidsoap harbor) and IP address → doesn’t work

    encoder_start: resampler will not be used
    encoder_start: successfully started the encoder
    streamer_connect: established connection to the server
    streamer_main: disconencting from server
    encoder_unregister_client called
    encoder_unregister_client finished
    streamer_main: disconnection complete
    streamer_disconnect: function called while not streaming
    command failed for command: server_disconnect
    encoder_plugin_terminate: waiting for encoder to finish
    live_mp3_encoder_main: flushing 547 bytes
    live_mp3_encoder_main: performing cleanup
    live_mp3_encoder_main: finished cleanup
    encoder_stop: encoder is stopped
    

    e) Remote Shoutcast Master (another server; SC 1.9.8/Linux) and hostname → works

    encoder_start: resampler will not be used
    encoder_start: successfully started the encoder
    streamer_connect: established connection to the server
    streamer_main: connected to server - awaiting serial 1413726789
    live_mp3_encoder_main: flushing 547 bytes
    
    
    
    streamer_disconnect: disconnection_request is set
    streamer_main: disconnect_pending is set
    streamer_main: issued flush to mixer, disconnecting from server when final packet of serial=1413726789 arrives
    live_mp3_encoder_main: flushing 547 bytes
    streamer_main: final packet with serial 1413726789
    streamer_main: last packet wrote, disconnecting
    streamer_main: disconencting from server
    encoder_unregister_client called
    encoder_unregister_client finished
    streamer_main: disconnection complete
    streamer_disconnect: disconnection complete
    encoder_plugin_terminate: waiting for encoder to finish
    live_mp3_encoder_main: performing cleanup
    live_mp3_encoder_main: finished cleanup
    encoder_stop: encoder is stopped
    

    Except for e) which I couldn’t test locally, all of the above work locally (either on localhost or in the same LAN, using something like studio1.local). The onlly apparent difference is that I have Icecast 2.4.1 installed on my remote server and Icecast 2.3.3 locally. The configuration files are exactly the same, so I only need to change the server address within IDJC/Outputs.

    If needed for debugging, I could privately provide access to you to both my server and the "real" Shoutcast server, but we should agree on a date & time since mine isn’t yet up and streaming 24/7.

     

    Last edit: Moonbase 2016-09-27
  • Stephen Fairchild

    • status: open --> closed-wont-fix
     
  • Stephen Fairchild

    Not happy with a bunch of libshout updates. Was happy using 2.4.2 until 2.4.6 made some compelling improvements.

     

Log in to post a comment.