Network media server for PS3

    PS3For a long time, this note was lying in draft copies; I still could not get together to draw it up and publish it. But as they say it cannot last forever, so let's get down to the story. Actually what is the problem, you ask? Anyone who has a PS3 with CFW installed knows that it is impossible to write a file larger than 4GB to an external drive, since this is a limitation of the FAT32 file system (now file managers for PS3, such as Multiman, support reading from NTFS volumes, but this functionality appeared quite recently ) Two methods could be used to solve this problem:
    • burn the game to an internal disk
    • use special programs that split large files into parts that the PS3 file manager understood (in the end, he glued these files anyway and copied them to the console’s internal drive)

    But there was another method: to raise a media server for “streaming” content on the PS3. Actually, this is what we will do :)
    I have installed on my PS3 CFW with the Cobra function , which allows you to use ISO images, and does not require deploying the image in a separate directory, as required. Additionally, I still have webMAN installed , which allows me to mount images of games without starting the file manager and even manage the images and the console itself from a web browser (even from a mobile). But this is not the subject of this message. Anyone interested can refer to the documentation for this software or write a personal message to me.
    Actually, there is nothing complicated in assembling this (it was difficult to find it all in different forums and put it together), downloadprepared archive with source files . This archive is intended for the Linux x86_64 platform, although I have compiled it under FreeBSD and even for the ASUS RT-N56U router . I don’t remember all the nuances of the assembly for this platform, if you are interested in this question, you can write me a PM or read Issue 1106 : compiling ps3netsrv . Modified files “main.cpp” and “netiso.h” are already included in this archive. We expand the archive and collect.
    $ tar -xzvf ps3netsrv.tar.gz
    $ make
    

    Note.
    The archive has an rc script skeleton for automatically starting / stopping the service, but I went the other way and did not finish it.
    We start all this very simply:
    $ ./ps3netsrv /mnt/media/ps3netsrv
    

    - where / mnt / media / ps3netsrv is the root directory where the content for PS3 will lie. Inside the root directory, create folders - GAMES, PS3ISO . In the first, we add the usual unpacked images, and in the second, the images in the ISO format.
    As I said earlier, we will not use rc scripts to manage the service, but we will create a separate container for this service using the capabilities of Docker.
    Create a separate folder to place the container creation configuration file and copy the compiled file into it. For example:
    $ cd ~/docker/ps3netsrv
    $ cp ~/source/ps3netsrv/ps3netsrv ./
    

    Create a configuration file:
    $ vim Dockerfile
    

    FROM sovicua:jessie
    MAINTAINER Viktor M. Sytnyk 
    ENV DEBIAN_FRONTEND=noninteractive
    RUN apt-get update && apt-get upgrade -y
    RUN groupadd -g 1000 ps3netsrv
    RUN useradd -u 1000 -g 1000 -m -c "PS3 Media Server" ps3netsrv
    VOLUME /home/ps3netsrv/media
    RUN chown ps3netsrv:ps3netsrv /home/ps3netsrv/media
    COPY ps3netsrv /home/ps3netsrv/
    RUN chown ps3netsrv:ps3netsrv /home/ps3netsrv/ps3netsrv
    WORKDIR /home/ps3netsrv
    CMD ./ps3netsrv ./media
    

    Create an image for this service:
    $ docker build -t sovicua:ps3netsrv .
    

    And run the container:
    $ docker run --net=host --name=ps3netsrv --user=ps3netsrv -v /mnt/media/ps3netsrv:/home/ps3netsrv/media -i -t -d sovicua:ps3netsrv
    

    - where / mnt / media / ps3netsrv is the root directory in the main operating system, which is mounted in / home / ps3netsrv / media in the container. Everything can be checked the operation of our media server on the PS3. I think that you can no longer make it difficult for you to figure out what and how.
    In the future, I plan to upload this container to the general Docker Hub pool, so that everyone can use this ready-made container to create a media server.
    I would like to hear your opinion on this issue.

    PS Initially, I forgot to set the correct time zone for the base image, by default UTC was set for the container. The procedure for changing the time zone for the base image is described in a short article Installing timezone in the base Docker image.

    Also popular now: