Transcoder Feedback

Created by will on Feb. 20, 2015, 7:48 p.m.
  • Sticky
  • @Rotorgeek: You can change the number of vCPU in the Vagrantfile. You just have to be careful what you edit it with if you are on Windows. It can be sensitive to the way Windows adds new lines to files. Or you can set an ENV variable 'VM_CPUS' to equal the number you want.

  • @Hackmodford: I think most use it as a fire and forget thing. I typically throw a few files in before I go to bed, and know they will be done before I get home from work the next day.

    If I really need to check the progress of a file I just open the log file up and read it. On a unix system, or cygwin within Windows, you could `tail` the log if you wanted to keep a closer eye on it. Actually putting a web interface around it would take much more work and is probably well outside the scope of the project. Also, the VM does not need to have any ports open as it is, and opening them up to host a webpage on it would open up a whole new realm of security concerns and such.

  • @Hackmodford: I have not, since I do not have anything that plays 3d. Supposedly handbreak can handle 3d, but I kind of doubt the settings being used by the scripts would work right.

    Try it out, worst case scenario is a bit of time down the drain. I may try it out myself if you don't, but like I said, no way to play it and test what happens.

  • What version of does the vm use? And do we simply update using a `git pull` to update or is the script further customized away from Don's standard?

  • Cheers for the work, its working well for me so far.

    The only issue I am having is I keep having to add the 'transcoder' shared folder back to the VM setting every time the VM starts, for some reason it gets removed from the shared folder settings even though I select 'Make Permanent'.

    If anyone is interested I designed some basic .ico files, which I have attached to shortcuts of .bat files which start and stop the script on windows. I have placed these shortcuts on my desktop in order to quickly start and stop the VM when necessary.


    cd D:\Users\User\Documents\tested-transcoder

    vagrant up"

    I entered the above text in Notepad and saved as a .bat file, I have done the same with a bat file stopping the VM with 'vagrant halt' instead of 'vagrant up'. This makes it much quicker to start and stop the VM. I have also created shortcuts for the input and output folders, and also an icon for the 'work' folder so i can easily access these folders from the desktop.

    There is a link to the icons i have designed if anyone wants to check them out.

    Thanks a lot!

  • @dtr: The vagrant script `git clones` the latest from Don. If you log into the VM and go to the folder you could do a new git pull. However he hasn't updated in several months so its probably not necessary. Once it is set up I would probably avoid doing a pull though, since it already works no reason to chance anything.

  • Great thread!

  • Thanks for the great thread and the vagrant setup guys!

    I tested it on a spare machine and it works PERFECTLY... Except... this old machine is a Core 2 Duo, and I'd like to transcode my library before I die.

    I have a monster machine that I use for transcoding now, Core i7 3.4Ghz 32GB. It also runs Hyper-V for my home lab and DNS. Because Hyper-V is running VirtualBox can't use the virtualization extensions, and really, why run another hypervisor anyway?

    Is there a way to edit the Vagrant config so it will spin up the Tested-Transcoder in Hyper-V?

    If not is there a way to setup the scripts to run in a VM that I install?

  • This would make an awesome docker app, im running an unraid server which has docker and vm capabilities, i've managed to created and import the tested transcoder vm into it, unfortunately with no desktop environment for the black back im unable to set up the folder shares for the box to look at is there a way to do it from the command line ? or convert it to a docker app ?

  • I should explain, i imported your transcoder vm into virtualbox then saved as a raw image then imported it into my vm manager in unraid but when i start it up and vnc into it theres only a login bar if i install a desktop environment like lxde to mount the share will the box still be automated ?

  • @MrCoe1989: I have no experience with your environment, but if you can add a shared folder it will probably work.

    You can manually install everything needed if you read through the Vagrantfile. I actually did this recently when my FreeNAS box decided to stop cooperating with Vagrant. Was not as easy, and I would not recommend it, but it worked.

    I do like the idea of a docker image for it. I think I can probably knock one out pretty easy...

  • @dot19408: Slow response, but if you are running Windows 8.1 on the box it would be easy but if not, you could manually install the scripts by following along with the Vagrantfile.

  • Thanks Bedon292

    I am running on Win8.1 with Hyper-V installed.

    I've looked at the vagrant file, maybe I'm looking in the wrong place, but I didn't see anything that I parsed as instructions to follow along with... I'm going to look again this weekend.

    What's the secret to getting the script running in Hyper-V? I changed a few variables from (vb) to (hyperv) but I think there are other changes that are needed.

  • I seem to be having a problem with subtitles. MakeMKV will rip the appropriate subtitle tracks that I have selected, however, the transcoder will only keep the forced subtitle track. Any thoughts?

  • I'd be very grateful to see a docker file put together, or if you could point me in the right direction so i could work out how to build it i'd be more than happy to share the results with the community, my setup is an unraid 6 server ill send some screenshots when i finish work to show the kind of environment im using

  • I'd be very grateful to see a docker file put together, or if you could point me in the right direction so i could work out how to build it i'd be more than happy to share the results with the community, my setup is an unraid 6 server ill send some screenshots when i finish work to show the kind of environment im using

  • Is there a way to edit the vagrant file from inside the virtualbox image once its been created ?, i have converted the vmdk to and img file so i can import it into my server

    I'd also like to ask also is there a way to mount a network share by editing these 2 points in the vagrant file ?

    # transcoder root. this is where the transcoder directory will be mounted

    mkdir -p /media/transcoder


    config.vm.synced_folder ENV["TRANSCODER_ROOT"], "/media/transcoder"

    Apologies for all the questions im new to vagrant and coding in general but keen to learn

  • @dot19408: I believe that changing vb to hyperv is about all that it would take, but I have no way to test it out. Best I can say is try it and see. Looks like you will need to change `config.vm.provider "virtualbox" do |vb|` and the lines after it to set up the box properly. The rest should work the same though.

    @kms_md I actually edited the script a little in my branch to keep ALL subtitles. You can see what I changed here: Not officially supported by tested but I have been using it for months.

    @MrCoe1989 You can actually change the mount location just by changing the environment variable to what you want, rather than editing the file. You could edit the file, but it is not recommended.

  • I spent a lot of time trying to get this working on my FreeNAS server inside a jail created using the VirtualBox template, but kept having problems with Vagrant that I was unable to resolve. Bedon292, can you provide a bit more insight into what you did with FreeNAS to get the Transcoder scripts to run? I'd really appreciate it!

    I have everything working just fine hosted on Windows 10 (though "Make Permanent" never seems to actually do as such...), but would prefer to use the server so that I don't have to leave my desktop running.

  • @HelloEh: Right, I had the same issues with Vagrant. Installing it in the VB template ends up messing things up for some reason. I think, because the template is old, it messes up versions and things. I never fully solved getting Vagrant to work on my system, because Google is always referring to running FreeNAS in Vagrant rather than the other way around. The VB machine never ends up starting up in a valid state for me. Is it the same issue for you? I am actually pretty sure it has something to do with user accounts or something like that, but can't figure out how to tell.

    What I ended up doing was using the VB template, opening the phpVB page creating a machine by hand and setting up all the scripts. Was not super fun, but it got it off my desktop and on to FreeNAS. I will experiment with it here again soon, but normally I fight with it for a few days and then give up again.

  • This setup is working beautifully now on Ubuntu 14.04 on the old Q6600 box I'm using for plex.

    Had a few issues with getting virtualbox to work - kernel issues with the ubuntu package - and had to install the most recent vagrant rather than the one from Ubuntu.

    Nice work. I might actually manage to get my collection ripped to plex - it was looking way too painful before.

  • Awesome ill try the environment variable on my machine, is there a way to adjust to cpu and ram without virtualbox since i have now converted the vmdk to img to import into my server, my server has the ability to create vm's assign ram etc... will that override the hardware resources setup in vagrant ?

  • I'm gonna test out the vm tonight if it gives me the login screen is there a way to login and run the box ?

  • Is there a 101 course on this? I'm interested in this entire process, but I don't have enough knowledge to even begin. Any recommendations on a good place to start? I've got lots of DVDs/Blu-Rays I'd like to be able to stream through PLEX (especially cartoons for the kids - Saturday Morning should be a variety show, not a 10 Donald Duck cartoons in a row situation).

    Or is this too much for me? Is there something easier? Should I just stick with MakeMKV, Handbrake, and Plex?

  • @wvc: Are you having trouble with the instructions ?

  • To bedon292 I have found a dock repository that has virtualbox and vagrant in it will be posting results soon, if it works i'd be happy to share with the community :-)

  • @wvc: This piece just automates the Handbrake part of the process. Which I find to be very valuable. You still use MakeMKV to rip, and Plex to play. What OS are you running on the machine you are trying to use this on, and what are you having trouble with?

    @MrCoe1989 running vb and vagrant inside docker, seems to be a very strange way of doing things. Its virtualization within virtualization and who knows if there will be a performance hit for that. You can definitely run the tool right inside docker. I have most of a Dockerfile done, but have not tested it yet. I am also planning on writing a quick .sh which will get everything done as well.

  • Bedon 292 It is a bit odd but since my server has it's own hypervisor built in theres no way for me to run the vagrant command to start the vm once i import it into the server :-(, dockerfile sounds exciting though :-)

  • I'm on Windows 8.1 (haven't quite switched to 10 yet, too many things going on at home to focus on upgrading the computer yet). I understand MakeMV and Plex and have a moderate handle on Handbrake -it's the Virtual Machine part where I don't even know where to start. I understand, conceptually, what a virtual machine is but have never set one up (never used Virtual Box). That's why I was looking for a sort of 101 course - I feel like I don't know enough to even start on this process yet. With all the cartons I've collected for the kids (Looney Tunes, Disney, and the highly recommended Danger Mouse), I'd love a "set it and forget it" solution for mass ripping and processing.

  • @wvc: Virtual machines are actually a very simple concept, which I am sure you already grasp. They are just a virtualized version of an operating system running on your machine. In the case of the transcoder, it is a version of ubuntu running inside your session of Windows.

    VirtualBox is a version of VM software, it is a simple cross platform option. VMWare and HyperV are other similar software, which can have a lot more options and control. I would suggest installing VBox and starting up a machine to play with, just to understand more what it can do.

    Vagrant just simply wraps the creation of the VM up into a script. It allows you to have a easy, and repeatable provisioning. It is meant for developers to be able to distribute simple small scripts instead of full images, and still have the exact same setup on multiple machines. It also works great for this case where we all want to be running the same VM.

    In this case, it sets up an ubuntu image, installs the required packages for handbreak, and sets up a python script to constantly be looking at the folder for new files and passes them to handbreak.