Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Linux, Mac OS X, & Co

Reply
 
Thread Tools Search this Thread Display Modes
Old 2nd January 2016, 19:37   #1  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Munich, Germany
Posts: 169
Mixed Windows / Linux environment

I'm currently in the process of creating a "backup" of my DVD and Blu-ray collection. I use MeGUI on Windows 7 on my already 8 years old Computer (Core2Quad Q9650) and while movies aren't a problem TV Shows like The X-Files or Stargate SG-1 are a huge one, especially Shows on DVD (anamorph, interlaced, overscan). I just added my Notebook (Core i5) as an additional encoder and it's nearly as fast as my computer.

However, I have a very powerful server in the basement (Xeon E5-2680 v3) and want to move all the cpu intensive parts onto that machine. It is running Linux (Ubuntu 14.04.2 Server) thus without a GUI. I can't install Windows, neither as standalone nor as secondary OS because the server is also providing some network services (RADIUS, DNS, DHCP, ...) which have to be running 24/7/365.

I'm sorry for all the following questions but I never used any audio/video stuff on Linux before and I don't know what I need (ALSA? GUI? Graphics Card?) and what problems may occur. Any help is appreciated even if it's just a link without any comment, a comment without any link or whatever constructive

My current workflow for Blu-rays is:
  1. AnyDVD HD
  2. BDInfo
  3. tsMuXeR
  4. DGIndexNV
  5. MeGUI
    1. AVS Script Creator
    2. x264
  6. mkvtoolnix-gui

For DVDs I use AnyDVD HD too but followed by SmartRipper and DGIndex and then MeGUI.

So my main question is: What are good counterparts of the tools used in steps 1, 2 and 4 for Linux? Since txMuXeR, x264 and mkvtoolnix are also available for Linux and I actually do nothing more than cropping (only if the source is not 1,778:1) and converting to YV12 with AviSynth I can use a template here and just edit it with an text editor and thus don't need MeGUI at all. If the Indexer (for Linux) does not automatically crop 1088 to 1080 like DGIndexNV I'll always have to use AviSynth; what is the best for Linux here (AvxSynth, VapourSynth, etc.)?

For DVDs I'd definitely do all steps except encoding on Windows because I'll have to visually create the AVS Script (crop then anti-anamorph) to keep the correct AR. I just hope that QTGMC is also available on Linux.

Thank you very much!
an3k is offline   Reply With Quote
Old 2nd January 2016, 21:09   #2  |  Link
luigizaninoni
Registered User
 
Join Date: Apr 2015
Posts: 163
Wouldn't Handbrake suit most of your needs ? it works fine on linux, has also a CLI interface so you would not need a GUI, supports crop and anamorph. If you need something more complex, vapoursynth is imho your best bet, it definitely supports qtgmc on linux and a lot of other plugins and scripts (however, not every avisynth plugin has been ported to vapoursynth so far)
luigizaninoni is offline   Reply With Quote
Old 3rd January 2016, 04:45   #3  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,105
For step 1, MakeMKV is pretty much the only solution for Blu-ray ripping on Linux. It does have a CLI (makemkvcon). I'm not sure what BDInfo is needed for, so I can't give any real suggestions there.


Remember, there is Wine, so you can install pretty much everything in that list (I'd avoid AnyDVD, though; my experience with accessing optical drives with tools running through Wine is less than good). I'm not sure how DGIndexNV operates under Wine, but if it doesn't work you could always use DGMPGDec, FFMS2, and/or LSMASHSource, depending on format.

AvxSynth isn't something you should be pinning any hopes on; there were *maybe* five plugins ever ported to it, some of the internal filters don't work, and its resizers rely on FFMS because SoftWire was disabled (not that the resizers are broken this way, it's just wonky and inelegant). It's definitely in more of a usable state than AVS3.0 ever was, and it's because of AvxSynth that the AviSynth demuxer in libavformat was rewritten and made cross-platform, but beyond that it's severely limited except for really simple scripts. If/when AviSynth+ picks up again, and the work on its Linux/GCC branch resumes, that would be the eventual pick for a 1:1 AviSynth replacement on Linux. So all said, yes, use VapourSynth for anything complex you'd need to do.
qyot27 is offline   Reply With Quote
Old 3rd January 2016, 09:36   #4  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Munich, Germany
Posts: 169
Thank you very much for your advise. It is much appreciated!

Quote:
Originally Posted by luigizaninoni View Post
Wouldn't Handbrake suit most of your needs ? it works fine on linux, has also a CLI interface so you would not need a GUI, supports crop and anamorph. If you need something more complex, vapoursynth is imho your best bet, it definitely supports qtgmc on linux and a lot of other plugins and scripts (however, not every avisynth plugin has been ported to vapoursynth so far)
While Handbrake looks very promising I'm afraid I'll run into some issues and since I don't need most of its features but actually only need AviSynth filters for DVDs VapourSynth looks like the best solution.

Blu-rays:
Quote:
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\dgindexnv\DGDecodeNV.dll")
DGSource("E:\RIPS\Chicago Fire\S01E24\00004.track_4113.dgi",fieldop=0)
ConvertToYV12()
DVDs:
Quote:
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\mvtools2.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\mt_masktools-26.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\nnedi3.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\RemoveGrainSSE2.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\RepairSSE2.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\SSE2Tools.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\FFT3DFilter.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\dfttest.dll")
Import("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\QTGMC-3.32.avsi")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("C:\RIPS\Neon Genesis Evangelion\S01E01\S01E01.d2v", cpu=4, info=3)
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
ColorMatrix(hints=true, threads=0)
QTGMC(Preset="Slow",FPSDivisor=2,Sharpness=1.2,SLMode=1,EZDenoise=2.5,NoisePreset="Slow")
crop(4, 4, -4, -2)
Lanczos4Resize(960,720)
ConvertToYV12()
I really would like to see at least 90% CPU usage of all 12 (24) cores of my servers CPU with the later AVS Script which currently runs at ~5 fps on my Computer. Something is not ready for multi-threading here I guess

Quote:
Originally Posted by qyot27 View Post
For step 1, MakeMKV is pretty much the only solution for Blu-ray ripping on Linux. It does have a CLI (makemkvcon). I'm not sure what BDInfo is needed for, so I can't give any real suggestions there.
Excellent! If there is nothing like BDInfo for Linux I can binge-copy with MakeMKV and then later scan all the discs with BDInfo on Windows to get to know what I've to process with tsMuXeR. I'm fine with that


This is a bad example but gives you a clue about what it does. Just think about those Blu-rays having the main content stored in eg. 20 greatly mixed m2ts files. BDInfo tells you what Playlist to use and thus what m2ts files in what order.

Quote:
Originally Posted by qyot27 View Post
Remember, there is Wine, so you can install pretty much everything in that list (I'd avoid AnyDVD, though; my experience with accessing optical drives with tools running through Wine is less than good). I'm not sure how DGIndexNV operates under Wine, but if it doesn't work you could always use DGMPGDec, FFMS2, and/or LSMASHSource, depending on format.
Yeah, I didn't forgot that. The problem is that I don't want and maybe can't use a GUI on the server. I not only have to stand in front of my 19" Rack but the graphics card is a very simple one (afaik no 3D capabilities) and I'm not sure if it can display some video output. The server also doesn't have a nVIDIA card so instead of DGIndexNV I would've to use DGIndex / DHMPGDec instead.
Are there any quality-releated differences between the three mentioned indexers? L-SMASH Works sounds premium-ish?!

Quote:
Originally Posted by qyot27 View Post
AvxSynth isn't something you should be pinning any hopes on; there were *maybe* five plugins ever ported to it, some of the internal filters don't work, and its resizers rely on FFMS because SoftWire was disabled (not that the resizers are broken this way, it's just wonky and inelegant). It's definitely in more of a usable state than AVS3.0 ever was, and it's because of AvxSynth that the AviSynth demuxer in libavformat was rewritten and made cross-platform, but beyond that it's severely limited except for really simple scripts. If/when AviSynth+ picks up again, and the work on its Linux/GCC branch resumes, that would be the eventual pick for a 1:1 AviSynth replacement on Linux. So all said, yes, use VapourSynth for anything complex you'd need to do.
Thank you for that insight. I actually thought there's no more development on AviSynth or any of its variants but it's nice to hear that there (maybe) is (sooner or later)
an3k is offline   Reply With Quote
Old 3rd January 2016, 18:57   #5  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,105
Quote:
Originally Posted by an3k View Post
Yeah, I didn't forgot that. The problem is that I don't want and maybe can't use a GUI on the server.
I more just meant that running and encoding from AviSynth scripts is do-able under Wine. You don't need a GUI for that.

Quote:
Are there any quality-releated differences between the three mentioned indexers? L-SMASH Works sounds premium-ish?!
It's a mixed bag. I'm not sure if any head-to-head comparisons have been done lately, but general consensus had seemed to be that LwLibavSource probably handles m2ts better than FFMS2 (although for all I know, that could have been comparing FFMS2's Haali demuxer, which is no longer accurate because all the non-lavf demuxers got pruned out of FFMS2 a while back). That's not really 'quality', though, just a possible difference in frame position or seeking. Both L-SMASH Works and FFMS2 use libavcodec and libavformat (for MP4 files LSMASHSource() uses the L-SMASH demuxer instead of libavformat, but still uses libavcodec to decode the video/audio streams).

Quote:
Thank you for that insight. I actually thought there's no more development on AviSynth or any of its variants but it's nice to hear that there (maybe) is (sooner or later)
[Classic] AviSynth 2.6 was released in May, and the CVS is currently - still slowly - committing things for a 2.6.1. Most of it seems to be compiler warnings.

AviSynth+ got stalled in March again, and is roughly comparable to 2.6 RC1 (only because RC2 and 2.6 Final barely changed anything relevant to avsplus; and the stuff those did change is sitting in a pull request on Github). The stuff currently getting committed to 2.6's CVS mostly still didn't look relevant because those sorts of changes had already been made or refactored entirely out of avsplus back in 2013. Of course, Plus is massively ahead of Classic in lots of other areas (MT, cache/memory management, C plugin autoloading, 64-bit support, modern compilers, etc.), and for Classic to catch up would take a long, long time.
qyot27 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:19.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.