LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 01-20-2014, 12:22 PM   #1
nokangaroo
Member
 
Registered: Nov 2009
Posts: 141

Rep: Reputation: 25
Why VLC sucks at playing DVDs, or, A plea for reviving the ogle DVD player


I am not sure if this post belongs here; please move it if necessary.

Attention: This is a flame, but it's for a good cause. After spending some time trying to get VLC to correctly save bookmarks I discovered the very elementary ogle DVD player, which can still be installed in Arch Linux, though I don't know for how long. DEVELOPERS: Please take care of this excellent little program and don't let it die! Despite what the movie industry wants us to believe the DVD is not dead; many people still have DVD collections which they'll want to continue using.

I just tried to rebuild ogle with abs, and it failed with a collect2 error (presumably because of libdvdread-4.2.0; the patch in the pkgbuild is for libdvdread-4.1.3), which is fatal for me because I am not a programmer. If anybody is interested I will post the errors.

The current build in the community repo will run but crash a lot.



The reason that VLC bookmarks suck is that the VLC developers have absolutely no clue about how DVD playback works. Here is a VLC playlist file (for a DVD --!!any DVD!!-- in the drive):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">
	<title>Playlist</title>
	<trackList>
		<track>
			<location>file:///dev/sr0</location>
			<duration>8382360</duration>
			<extension application="http://www.videolan.org/vlc/playlist/0">
				<vlc:id>0</vlc:id>
				<vlc:option>bookmarks={name=sr0 #0,bytes=0,time=15}</vlc:option>
				<vlc:option>bookmarks={name=start,bytes=0,time=15}</vlc:option>
			</extension>
		</track>
	</trackList>
	<extension application="http://www.videolan.org/vlc/playlist/0">
			<vlc:item tid="0"/>
	</extension>
</playlist>
This is clearly stupid because the DVD is identified by file name (that is, not identified at all if the file is the DVD device), and because DVD navigation is multi-dimensional (titleset, title, chapter or current playing position, audio track, subtitle track, forced subtitles or no forced subtitles, deinterlace mode, etc). I have to go through all the menus and nag screens to the start of the movie before I can even use the bookmark (and then it would only work with an iso file on the harddisk because that has a unique file name, hopefully. Thank you, VLC developers, for forcing us to make possibly illegal copies instead of being able to play the originals). This playlist simply does not contain enough information (Neither does the srpos plugin that I tried; it suffers from the same one-dimensional limitation, and won't work with DVDs in the drive for the same reason). And I fear there is no remedy, because the code for VLC would have to be rewritten from scratch to correct this, and the VLC developers have spent years proving they are immune to users' wishes.



For comparison, here is the playlist file for the same DVD created by ogle, with two bookmarks, a user-created start position accessible by typing 1b, and the automatic resume bookmark:
Code:
<?xml version="1.0"?>
<ogle_bookmarks dvddiscid="4eb3f6d726aee4eb47fe8a22991ca074">
  <disccomment>EAT_PRAY_LOVE</disccomment>
  <bookmark>
    <navstate version="0.0.0">
      <sprm>,656e,0,0,1,1,1,1,1,c00,0,0,0,5553,f,c00,0,656e,0,656e,0,2,0,0,0</sprm>
      <gprm>,65,0,0,0,65,40,1,3e7,1,1,65,0,0,0,0,1</gprm>
      <domain>3</domain>
      <vts>1</vts>
      <pgc>1</pgc>
      <pg>1</pg>
      <cell>1</cell>
      <block>6930</block>
      <mode>1</mode>
      <rsmvts>4</rsmvts>
      <rsmpgc>29</rsmpgc>
      <rsmcell>1</rsmcell>
      <rsmblock>0</rsmblock>
      <rsmregs>,7fff,0,b010,196,0</rsmregs>
    </navstate>
  </bookmark>
  <bookmark>
    <navstate version="0.0.0">
      <sprm>,656e,0,0,1,1,1,1,8,c00,0,0,0,5553,f,c00,0,656e,0,656e,0,2,0,0,0</sprm>
      <gprm>,65,0,0,0,65,40,1,3e7,1,1,65,0,0,0,0,1</gprm>
      <domain>3</domain>
      <vts>1</vts>
      <pgc>1</pgc>
      <pg>8</pg>
      <cell>19</cell>
      <block>14726</block>
      <mode>1</mode>
      <rsmvts>4</rsmvts>
      <rsmpgc>29</rsmpgc>
      <rsmcell>1</rsmcell>
      <rsmblock>0</rsmblock>
      <rsmregs>,7fff,0,9010,7d,0</rsmregs>
    </navstate>
    <appinfo appname="common">autobookmark</appinfo>
  </bookmark>
</ogle_bookmarks>
Notice that this file uses the dvdnav disc id which is unique (its filename is $HOME/.ogle/bookmarks/4eb3f6d726aee4eb47fe8a22991ca074, so you won't ever have to worry about duplicates), contains all necessary information, actually works, and a resume bookmark is automatically created on closing ogle (I don't have to use keyboard shortcuts that don't work in fullscreen, and then type my fingers sore). New bookmarks can be created with the Insert key (on the Apple keyboard, with <fn><Enter>), and they can be recalled with <Number> b, or just b for the resume bookmark. ogle is actually the best DVD player that linux has to offer (at least from its concept; the actual code could use some upgrading), and if it had a bit more of an interface it would be perfect (named bookmarks, and the ability to access them from a graphical menu, would be nice, and subtitle rendering does not quite work; this example DVD contains forced subtitles for the Italian language passages which should be displayed even when subtitles are off, which works correctly in OS X).

DEVELOPERS: These files are unencrypted which might be a privacy issue, but it should be possible to encrypt them using the dvdnav disc id as an encryption key, so they can't possibly be read when there is no DVD in the drive. I assume that is what the OS X DVD Player does (with whatever the closed-source equivalent of dvdnav is).

It would be possible to write some shell scripts for DVD playback that use mplayer's shell script interface - I have posted some suggestions somewhere (http://www.linuxquestions.org/questi...on-4175463917/), but the mplayer interface is extremely baroque, and the scripts would be clumsy and brittle; ogle's approach is much neater, and seems to be the only technically correct one.

Last edited by nokangaroo; 01-20-2014 at 12:27 PM.
 
Old 01-20-2014, 12:39 PM   #2
haertig
Senior Member
 
Registered: Nov 2004
Distribution: Debian, Ubuntu, LinuxMint, Slackware, SysrescueCD, Raspbian, Arch
Posts: 2,283

Rep: Reputation: 354Reputation: 354Reputation: 354Reputation: 354
Quote:
Originally Posted by nokangaroo View Post
The reason that VLC bookmarks suck is that the VLC developers have absolutely no clue about how DVD playback works.
Yes, of course. They wrote VLC without knowing anything about DVDs. Riiiggghhhttt...

You'll probably get more help with your issue if you don't start right off the bat making ridiculous claims like this. Throwing down the gauntlet with a direct insult probably won't get you he help you need. I was reading your post trying to determine if there was something I knew about and could help you with. But when I saw you throw that insult, I abandoned my attempts to figure out your issue. Didn't even read the rest of your post.

Just some friendly advice. You will get more help if you are nice to people. I am not a VLC developer, but they don't deserve to be insulted.
 
Old 01-20-2014, 12:41 PM   #3
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 9,599

Rep: Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278Reputation: 4278
Would the ideal solution to this really be to revive ogle, or would it be to fork VLC?
 
Old 01-20-2014, 12:48 PM   #4
dolphin_oracle
MX Linux
 
Registered: Dec 2013
Posts: 402

Rep: Reputation: Disabled
Man, I really like VLC, but I do remember ogle. I used to use that back in the ubuntu 6.10 days. It really was a nice little program. did one thing and did it well.
 
Old 01-23-2014, 07:11 AM   #5
nokangaroo
Member
 
Registered: Nov 2009
Posts: 141

Original Poster
Rep: Reputation: 25
Thank you, haertig. I warned you this was a flame. And I still think VLC's way of handling DVD playback is highly nonoptimal (Of course, VLC is not primarily a DVD player; as a replacement for iTunes it does well enough, I suppose. And I am not exactly looking for help, I want to stimulate discussion).

I have added some stuff to the link mentioned above, to demonstrate what I mean.
Resuming scripts CAN be done, after a fashion, but it's not something that I'd
entrust my DVD collection to.

I'll have a look at mpv, they mention lua support in the manpage (as a thing of the future; that's worth keeping an eye on).
 
Old 02-07-2014, 09:01 PM   #6
nokangaroo
Member
 
Registered: Nov 2009
Posts: 141

Original Poster
Rep: Reputation: 25
Edit: In fairness to the VLC developers I have to add that it seems to be possible (though undocumented) to control VLC via a fifo, mplayer-like (Personally I'd prefer to use mplayer, but that seems to be wishful thinking. It's no longer actively developed apparently, but my first impression of its successor mpv is hardly better). There is nothing much in the vlc docs which admit to being outdated, but I found an answer here:


http://askubuntu.com/questions/33746.../338046#338046


To start vlc with fifo input:
Code:
mkdir $HOME/vlcmedia
mkfifo $HOME/vlcmedia/fifo
tail -f $HOME/vlcmedia/fifo | nohup vlc --intf lua &
To give commands to vlc:
Code:
echo "add $HOME/Videos/test.iso" > $HOME/vlcmedia/fifo
echo "chapter 1" > $HOME/vlcmedia/fifo #chapters start with 0
echo "seek 100" > $HOME/vlcmedia/fifo
echo "title 2" > $HOME/vlcmedia/fifo
...
From this point on, see my script examples. It should be possible to port them to VLC, and I'll post my results and link them here as soon as I have something. Of course, everybody is invited to beat me to it :-)

For a list of valid commands type "vlc -I lua" or "vlc -I cli" and then "help" at the vlc prompt.

It would be nice if this were actually ***documented*** somewhere.
 
Old 02-20-2014, 05:18 AM   #7
nokangaroo
Member
 
Registered: Nov 2009
Posts: 141

Original Poster
Rep: Reputation: 25
Edit: I posted a work-in-progress solution for VLC here:
http://www.linuxquestions.org/questi...79#post5121479
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] VLC - Playing DVDs, Need help config le555 Ubuntu 2 04-26-2013 01:56 PM
xine, VLC not playing DVDs. maxsue Linux - Software 2 06-29-2011 06:52 PM
VLC not playing DVDs. cwizardone Slackware 14 05-04-2009 08:35 PM
Ogle is twitchy when playing DVDs Ekkume Ubuntu 2 05-06-2005 02:54 AM
ogle dvd player DAChristen29 Linux - Software 8 03-21-2003 02:25 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:23 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration