Sal Aguilar's Bilingual Adventures in IT

computers are easier to deal with than people

miniDLNA issues on MacOS Mojave (part 1) — November 13, 2018

miniDLNA issues on MacOS Mojave (part 1)


Last week I finally had some courage to update my Macbook to Mojave. The latest version of the MacOS family. The only thing I was really looking forward was the security updates and Dark Mode. Aside from that, it was unappealing to me.

Today, I downloaded some videos and wanted to fire up my minidlna local install only to find out that service was not working. None of my devices was able to see the DLNA service so I couldn’t stream to any TV.

I started investigating.  I did the basics, tried to restart, and services were launching fine.

➜ ~ brew services restart minidlna
Stopping `minidlna`... (might take a while)
==> Successfully stopped `minidlna` (label: homebrew.mxcl.minidlna)
==> Successfully started `minidlna` (label: homebrew.mxcl.minidlna)

Since everything seem fine, and still I couldn’t see the DLNA media. I went to the logs.

➜ ~ tail -100 /usr/local/var/log/minidlnad.log

I saw some errors which caught my attention. So I decided to remove it completely.

➜ ~ brew remove minidlna
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Uninstalling /usr/local/Cellar/minidlna/1.2.1_1... (11 files, 307.6KB)

And I saw the xcrun error, invalid active developer path? After quickly reviewing in Google this was due to the X Code Command Line tools that needed to be installed. It seems when Mojave was installed, the old X Code Command line tools were removed. Ok now we are getting somewhere. Now I would install that package. Again I went to my terminal and:

➜ ~ xcode-select --install

The package started downloading. It was about 130MB. Once it was installed I went and installed minidlna again.

➜ ~ brew install minidlna
==> Installing dependencies for minidlna: ffmpeg
==> Installing minidlna dependency: ffmpeg
==> Downloading https://homebrew.bintray.com/bottles/ffmpeg-4.1.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring ffmpeg-4.1.mojave.bottle.tar.gz
🍺 /usr/local/Cellar/ffmpeg/4.1: 282 files, 55.4MB
==> Installing minidlna
==> Downloading https://homebrew.bintray.com/bottles/minidlna-1.2.1_1.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring minidlna-1.2.1_1.mojave.bottle.tar.gz
==> Caveats
Simple single-user configuration:

mkdir -p ~/.config/minidlna
cp /usr/local/opt/minidlna/share/minidlna/minidlna.conf ~/.config/minidlna/minidlna.conf
ln -s YOUR_MEDIA_DIR ~/.config/minidlna/media
minidlnad -f ~/.config/minidlna/minidlna.conf -P ~/.config/minidlna/minidlna.pid

To have launchd start minidlna now and restart at login:
brew services start minidlna
Or, if you don't want/need a background service you can just run:
minidlna
==> Summary
🍺 /usr/local/Cellar/minidlna/1.2.1_1: 11 files, 307.9KB
==> Caveats
==> minidlna
Simple single-user configuration:

mkdir -p ~/.config/minidlna
cp /usr/local/opt/minidlna/share/minidlna/minidlna.conf ~/.config/minidlna/minidlna.conf
ln -s YOUR_MEDIA_DIR ~/.config/minidlna/media
minidlnad -f ~/.config/minidlna/minidlna.conf -P ~/.config/minidlna/minidlna.pid

To have launchd start minidlna now and restart at login:
brew services start minidlna
Or, if you don't want/need a background service you can just run:
minidlna

Once it was re-installed. I tried to launch it once more.

➜ minidlna brew services start minidlna
==> Successfully started `minidlna` (label: homebrew.mxcl.minidlna)

It launched, again, with no error but still it wouldn’t work. Sighs. We have to keep digging. So I went to the logs again, on a bug hunting mission and found this:

[2018/11/13 20:04:46] minidlna.c:1048: warn: Starting MiniDLNA version 1.2.1.
[2018/11/13 20:04:46] minissdp.c:131: error: bind(udp): Address already in use
[2018/11/13 20:04:46] minidlna.c:1080: info: Failed to open socket for receiving SSDP. Trying to use MiniSSDPd
[2018/11/13 20:04:46] minissdp.c:84: error: setsockopt(udp, IP_ADD_MEMBERSHIP): Bad file descriptor
[2018/11/13 20:04:46] minissdp.c:189: warn: Failed to add multicast membership for address 192.168.1.137
[2018/11/13 20:04:46] getifaddr.c:338: info: Enabling interface 192.168.1.137/255.255.255.0
[2018/11/13 20:04:46] minissdp.c:830: error: connect("/var/run/minissdpd.sock"): No such file or directory[2018/11/13 20:04:46] minidlna.c:1083: fatal: Failed to connect to MiniSSDPd. EXITING%

Reviewing online on the minidlna site, they do suggest to try to install such software.
https://sourceforge.net/p/minidlna/support-requests/55/

Funny enough I found a link to my article on that link.

Right now I will keep reviewing and will come back later with an answer.

DLNA on Mac: The Ultimate Guide — February 24, 2016

DLNA on Mac: The Ultimate Guide


Well folks, many of you have read my article from Streaming from Mac OS X to a Roku Streaming Device and Stream Media from Debian to XBOX One, now it comes this guide, which is basically a different way of using DLNA on your Mac OS X (El Capitan).

Requirements

  • Mac OS X El Capitan
  • Internet access
  • Brew
  • Any DLNA capable device (Android device, Roku, Windows based computer, Playstation 4, XBOX or any SmartTV. The device needs to be on the same network as your Mac OS X computer.
  • Time, and willing to geek out!!

Step 1: Install Brew

Brew is the missing package manager for Mac OS X, it’s what aptitude is for Debian, yum for Red Hat based Linux distributions (RHEL, Fedora, CentOS, etc).It makes your life really easy if you are a developer or sysadmin. Install packages just like you would do on linux. Forget about downloading sources and compiling. This is the way to roll.

  1. Open your Terminal on your Mac OS X computer.
  2. Type the following command:
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. Wait for Brew to be installed. If it fails for any reason, please visit this link for further information.

Step 2: Install minidlna

On linux, we have minidlna which is a daemon used to share media contents in your network using DLNA. The daemon is now called ReadyMedia. The full description is:

ReadyMedia (formerly MiniDLNA) is server software with the aim of being fully compliant with DLNA/UPnP-AV clients.

  1. Once Brew is installed, go back to your terminal and get ready.
  2. Type the following command on your terminal to install minidlna:
    brew install minidlna
  3. This will download & install minidlna on your device. If you get any errors, then please run this command and then go back to step 2:
    brew update
  4. If minidlna installed without problems, move to the next step.

Some clarifications:

  • The software is installed on the folder /usr/local/Cellar/minidlna/x.x.x (x.x.x would be the version of minidlna installed.

Step 3: Setup minidlna sharing folders

This step is about to setup all the following: device name, folder where your media is stored and that you want to share across your network.

  1. Go back to your terminal.
  2. Open a text editor to modify the configuration file. So type the following command:
    nano /usr/local/Cellar/minidlna/x.x.x/share/minidlna/minidlna.conf
  3. Now customize your settings, please make sure that you customize the media_dir with the actual path where your media is stored, below is an example that you can use :
    friendly_name=Mac DLNA Server
    media_dir=/Users/salvador_aguilar/movies/

    Please note that you can name it what ever you’d like and the media_dir NEEDS to be an existing directory/folder on your computer so be sure to put the right path.

  4. Brew does not creates the symbolic links for minidlna to work well, so we are going to have to do this:
    ln -s /usr/local/Cellar/minidlna/x.x.x/sbin/minidlnad /usr/local/bin/minidlnad

    What you are doing here is basically creating a shortcut from our recently installed minidlna on the brew directory to our /usr/local/bin directly which is where most used commands are stored. In a few words to make your life easier. Less is more, enjoy!

  5. Launch minidlna with the following command:
    minidlna

    If you have OS X firewall turned on, then you will get a prompt that you will need to approve to give permission to minidlna to serve files on your network.

  6. Voilá! Now you can turn on your TV, XBOX, Android Device or any DLNA capable device that is connected to the same network as your Mac, and you should be able to see your Mac serving media files via DLNA.

    No need for Apple TV or any other Apple branded media devices. This will make your Mac talk to EVERYONE using a STANDARD that they have refused to use or implement! Bad Apple!

Let me know if you need a guide for a specific device, XBOX, Playstation, Roku, etc. I’m always eager for new challenges!


					
%d bloggers like this: