Live Recording -- Mixx no Problem, Problems with BUTT
  • As the title states, I'm having issues using BUTT. I've tried the same settings as I'm using with Mixx. Actually caused me a headache thinking it must be a setting on the server running airtime, but nope... it seems to be some sort of incompatability with BUTT and newest version of airtime, else I'm missing an additional setting which must be input. 

    Background:

    I joined an online radio station last year, and was tasked with bringing the show live. I used voicemeeter, butt, vlc, and all was well. The show is no longer affiliated with a site who's label we were using to promote ourselves. I'm now tasked with launching our own brand, forums, and broadcasting production rig. Everything else is solid. I got esxi running a few VM instances operating stacks for various front end services. Airtime is using a sound card passthrough on a tiny VM, and all is well.

    I can get Mixx to work without issue, though BUTT will not connect no matter what I try to switch up. Jacked around with BUTT and the server for a couple of days, reinstalled, reconfigured, the whole lot. Then I decide maybe it's BUTT, slap on Mixx, and am up within a couple of minutes. Huh? 

    Here's the issue. I got no problem playing with Mixx and there being no problem, but this isn't about me. We're bring a few other online radio stations to our server, and they're all used to using BUTT and VLC to handle broadcasting to the server, and cuing up music. We really don't need anything complex, though I would make use of some of the features Mixx has to offer. Point being, simple minds require simple toys to jack with, else chaos ensues. 

    I need to figure out how to either get BUTT playing nicely with airtime, else find another broadcasting tool that either does only the broadcasting bit, else is simple enough to learn in a few minutes. What are my options here? Does BUTT work for any others out there with the newest version of airtime? If so, did you tweak any particular settings within butt, or configurations on the server to get it working? If not, can anyone recommend some software that will fill the requirements of functional and simplistic? 

    FWIW, the output audio will be opus. I'd rather not have to transcode and upload to the server in opus, but this isn't absolutely necessary. 
    Post edited by Brandon Chapman at 2015-01-02 13:13:42
  • 19 Comments sorted by
  • 1.12 worked perfect
    1.13  and 1.14 Tested last week and got the same issue and could not find the issues

    Note That the earlier butt was abandon for a long periods ,but the project is being revitalised so expect some bugs and Keep in Mind that as the Streaming servers (like shoutcast) upgrades you have issues you might have to sort out by yourself.

    I would try the Demo for Airtime Pro and see if the issues are the same

    Wish someone will guide you better.

    VOISSES


    Post edited by Voisses Tech at 2015-01-02 20:44:14
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Thanks, I got 1.12 working but this lacks opus support. I thought liquidsoap would take care of that, but it's just not working right. I'm about to test it out as it did seem to be working from the library. I guess it can convert it if it's pre-recorded, but live must broadcast it in the correct format. I'll keep trying different things. Limited bandwidth = opus greatly wanted.
  • Opus isn't supported natively by practically any mobile device out there (Android/Blackberry/iOS/Windows) so what's the point? And I say this as the one that helped nudge Airtime support adoption in the very first place... ;)
  • Yea, so vlc-android supports it, and I'm sure many others do by now.

    Verified, rockin it.
    Post edited by Brandon Chapman at 2015-01-03 02:43:17
  • The masses don't use VLC, nor will they... ever  :-\"
    Post edited by Roger Wilco at 2015-01-03 04:57:01
  • Opus is useful for streaming INTO Airtime. Apart from that, I see no point.
    No longer using Airtime or Libretime.
  • Dunno which "masses" you're referring to.

    My "masses" have no issue downloading a player.


    Seriously guy, streaming INTO? Uh, BANDWIDTH! 

    It's vastly superior at any kbps compared to anything else. 

    It's quickly becoming THE standard. 

    Get with the times!

    I got low quality mp3, high quality mp3, and highest quality opus streams on a relay server with a cheap vps. No reason not to have opus. 
    Post edited by Brandon Chapman at 2015-01-03 10:25:52
  • Brandon, yes, remote livestreaming of shows/interviews into Airtime in OPUS works great and is very efficient.
    If you have a crap stream coming in, you will surely have a crap stream going out. When there is enough userbase out there I might add it. Opus is a lot more CPU intensive than the others and that's a big consideration on a cheap VPS, for just a few users. Just look at the CPU load of the LiquidSoap process, switch off your OPUS stream and watch it drop like a rock. I think you may be smoking better stuff than I am ;)

    Post edited by John Chewter at 2015-01-03 11:57:46
    No longer using Airtime or Libretime.
  • Woah! 

    Transcoding

    Liquidsoap can achieve basic streaming tasks like transcoding with ease. You input any number of “source” streams using input.http, and then transcode them to any number of formats / bitrates / etc. The only limitation is your hardware: encoding and decoding are both heavy on CPU. Also keep in mind a limitation inherent to OCaml: one Liquidsoap instance can only use a single processor or core. You can easily work around this limitation by launching multiple Liquidsoap instances, and thus take advantage of that 8-core Xeon server laying around in the dust in your garage.

    http://savonet.sourceforge.net/doc-svn/cookbook.html

  • Like these Lively debates and since i am "Mr. Nosy". [darn my Dad and Mom to put so much names on my birth-certificate].It will always be my uninvited job to comment.

    You are all quarrelling and saying mostly the correct things but fail to "agree to disagree"

    Opus using silk or celt can be advantageous in many cases  than other codecs and in fact although skype uses its own proprietary version of opus,It performs better than nearly all other like Vorbis, H263 ,GSM and Speex

    In Fact some people tout OPUS as replacing nearly all codecs.

    So here is where you all are getting confused

    Bandwidth is different from Transcoding (encoding/decoding) and they all are different from throughput(latency and Delay)

    Opus  boast its advantage in Throughput from nearly all codecs at similar sample rates. and opus  6kbps@44khz will give better performance than all most all codecs existing now. (https://wiki.xiph.org/OpusFAQ)

    Now this is where reading can be dangerous

    "The only limitation is your hardware: encoding and decoding are both heavy on CPU." This is a known fact but it was a premise being stated for what is to follow "Also keep in mind a limitation inherent to OCaml" which is what ? "one Liquidsoap instance can only use a single processor or core."
    So stop there.Plex media server will optimized the amount of cores your machine has,yet because of floating point limitations on RPI, you definitely do not want to transcode on a RPI with Plex..

    Liquidsoap will only use one core and that's why there is SHINE to deal with Flac on RPI.

    So you all might be right,but putting it in perspective is what beating you all to agree.
    So Look at this statement "it's possible to decode RTP packets without having even seen the SDP or any out-of-band signalling. "

    Now everybody knows RTP is the "HOG" of bandwidth leading to incremental packets senders like H264

    So no matter what type of CPU usage you have ,you just do not want that machine using High CPU usage that it runs hot and start freezing up(like 80-90%), but its suggested that you will deliver a lower latency and delays to your listener using Opus.

    If you Have a Exstreamer and Instreamer and you build an two Opus Box to Transmit and Receive on either ends ,You would be demanding back your Money. And as opus becomes more and more widely accepted,Look for Exstreamer and Instreamer to recommend it as the codec to use.

    Knowledge and Debates provide solution,Silence and Quarrel ends in confusion.

    VOISSES
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Using BUTT 1.13 without problems, but something changed compared to previous version : I had to change the 'audio device' settings. Before, I used to select 'usb audio codec' (my external sound card) as audio device in BUTT. With 1.13, the same setting caused a kind of hardware conflict (switching non stop between global playlist harbor and live streaming = unable to stream live). To fix it, I had to set/select first the default audio device (my external soundcard instead of build in soundcard) in my operating system audio settings (ubuntu 14.04), and then setting the audio device in BUTT to 'default' (instead of 'usb audio codec before). Sorry for my bad english, hope it will help you. Cheerz.
  • Not that issue

     butt 1.13 (linux Version) or 1.14(windows version)  works perfectly as a standalone, try connecting to master or show  in airtime will runs into problem

    VOISSES
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • I meant : I run BUTT 1.13, not as standalone, but connected as master (or as show), without any problem (running airtime 2.4.1).
  • 2.5.1.6 has isses
    voisses
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • 2.5.1.6 has issues
    Voisses
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Ok, means it's more an airtime problem than a butt problem ? Would be nice that sourcefabric releases a bug-fixed version, instead of new versions adding new bugs without really fixing the old ones. Definitely waiting before upgrading our 2.4.1.
  • nothing wrong with Airtime.It was a firewall issue

    VOISSES
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • 2.5.1.6 is solid on my ubuntu 14.04 (trusty)

    Run a test machine before embark

    VOISSES
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • I wrote with the developer, he said that butt sends a PUT request to the server to test if it is icecast 2.4 or earlier. A real icecast server before version 2.4 does not respond to a PUT, so the client will then try to send a SOURCE. The problem now is that airtime's liquidsoap harbor answers with a 404 which butt doesn't expect. So it hangs. Maybe this could be fixed in airtime.

    To make it work with airtime, you just need to comment out the if.

    src/icecast.cpp:

    //if (i == 0)
    //{
    // Try PUT method first. Supported since icecast 2.4.0
    // if(cfg.srv[cfg.selected_srv]->mount[0] != '/')
    // snprintf(send_buf, sizeof(send_buf), "PUT /%s HTTP/1.1\r\n",
    // cfg.srv[cfg.selected_srv]->mount);
    // else
    // snprintf(send_buf, sizeof(send_buf), "PUT %s HTTP/1.1\r\n",
    // cfg.srv[cfg.selected_srv]->mount);
    //}
    //else
    //{

    if(cfg.srv[cfg.selected_srv]->mount[0] != '/')
    snprintf(send_buf, sizeof(send_buf), "SOURCE /%s HTTP/1.0\r\n",
    cfg.srv[cfg.selected_srv]->mount);
    else
    snprintf(send_buf, sizeof(send_buf), "SOURCE %s HTTP/1.0\r\n",
    cfg.srv[cfg.selected_srv]->mount);
    //}