[mythtv-users] dvd iso playback problem

Dan Littlejohn dan.littlejohn at gmail.com
Mon Apr 29 17:31:48 UTC 2013


On Sun, Apr 28, 2013 at 11:46 PM, Neil Salstrom <salstrom at gmail.com> wrote:

>
>
>
> On Sun, Apr 28, 2013 at 11:49 AM, Dan Littlejohn <dan.littlejohn at gmail.com
> > wrote:
>
>>
>>
>>>
>> Hi Neil:
>>
>> Yes, that was the problem.  My conf is slightly different since I am
>> running Gentoo so here is what I changed if it helps anyone else
>>
>> file
>> /etc/conf.d/net
>>
>> added
>> mtu_lo="16436"
>>
>> Reading the thread I see that it would work all the way up to 32872 .  Is
>> there a reason you stayed with 16k and not something like 32768?
>>
>> Some additional info is that I am able to play dvd isos using xine with a
>> 64k mtu without issue and also could play bluray isos in myth without
>> issue.  Seems like something in the myth code for playing dvd isos has a
>> problem or may have changed.
>>
>> Now most of my dvd isos will play, I still have 1/2 dozen that won't
>> although the failure is different (these play fine in xine).  I wonder if
>> it is related.  This is the log from trying to play one of those (with the
>> loopback MTU set to 16k)
>>
>> 2013-04-28 13:33:01.440830 E [2698/2698] CoreContext
>> DVD/dvdringbuffer.cpp:430 (GetChapterTimes) - DVDRB: Failed to retrieve
>> chapter data
>>
>>
> First, please try not to top post...
>
> I stuck with 16436 because that was the original value in the kernels that
> didn't give problems.  I figured if it was not broke I'd stick with what I
> knew would work.  Since I made the change I've had none of the stuttering
> issues at all.
>
> I'm not sure what is causing the issue with your other .iso files
> however.  Myth has always been somewhat buggy when it comes to DVD
> playback.  VLC and xine are typically flawless but the same files choke
> MythTV.  I've started ripping almost everything to .mkv files because of
> the headaches with .iso.
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
>
>
Yes, my bad form on the top posting.  I am use to gmail doing this.

I use a hybrid system to deal with isos using a script set for file types
(with tips gleaned from this mailing list over time).  When possible I
prefer the myth player, but when things are behaving badly I move things to
other players.  Now that the MTU problem is fixed, this is how I am dealing
with 6 isos that worked in 0.25 and have stopped working in 0.26.  Maybe
others will find it useful.

Dan

+++

#!/usr/bin/perl -I/home/data/scripts

###################################################################################################
#
# play_video.pl
#
###################################################################################################
use strict;

use cfg_video;

my $exec_dir = "/home/data/scripts";
my $video_root_dir = "/home/data/video";

# break down video url to name and folder
my $video_url = $ARGV[0];
my $buf = $video_url;
$buf =~ s/.*6543\///;
my $video_folder;
my $video_filename;
my $video_path;
if ($buf =~ /\//) {
  ($video_folder,$video_filename) = split('\/',$buf);
  $video_path = "$video_root_dir/$video_folder/$video_filename";
}
else {
  $video_filename = $buf;
  $video_path = "$video_root_dir/$video_filename";
}
print "$video_path\n";

# check if video is in exception list
my $exception_flag = 0;
foreach my $exception_video_name
(@PROBLEM_PLAYBACK_VIDEO_NAMES, at PROBLEM_SUBTITLE_VIDEO_NAMES,) {
  if ($video_filename =~ /${exception_video_name}/i) {
    $exception_flag = 1;
  }
}

# check if video is in mplayer list
my $mplayer_flag = 0;
foreach my $mplayer_video_name (@ISO_MPLAYER_VIDEO_NAMES) {
  if ($video_filename =~ /${mplayer_video_name}/i) {
    $mplayer_flag = 1;
  }
}

# check if video is in xine list
my $xine_flag = 0;
foreach my $xine_video_name (@ISO_XINE_VIDEO_NAMES) {
  if ($video_filename =~ /${xine_video_name}/i) {
    $xine_flag = 1;
  }
}

# play video
if ($exception_flag) {
  if ($video_path =~ /\.iso/i) {
#    system("vlc -Idummy --fullscreen --width=1920 --height=1080
--aout-rate=48000 --no-video-title-show --mouse-hide-timeout 5
--control=lirc dvd://$video_path");
    system("xine -pfhq --no-splash dvd:/$video_path");
  }
  else {
#    system("vlc -Idummy --fullscreen --width=1920 --height=1080
--aout-rate=48000 --no-video-title-show --mouse-hide-timeout 5
--control=lirc $video_path vlc://quit");
    system("xine -pfhq --no-splash $video_path");
  }
}
elsif ($mplayer_flag) {
  if ($video_path =~ /\.iso/i) {
    system("mplayer -fs dvd://1 -dvd-device $video_path");
  }
  else {
    system("mplayer -fs $video_path");
  }
}
elsif ($xine_flag) {
  if ($video_path =~ /\.iso/i) {
    system("xine -pfhq --no-splash dvd:/$video_path");
  }
  else {
    system("xine -pfhq --no-splash $video_path");
  }
}
elsif ($video_path =~ /\.avi|\.mpg|\.vob/i) {
#  system("vlc -Idummy --fullscreen --width=1920 --height=1080
--aout-rate=48000 --no-video-title-show --mouse-hide-timeout 5
--control=lirc $video_path vlc://quit");
  system("xine -pfhq --no-splash $video_path");
}
elsif ($video_path =~ /\.bd/i) {
#   system("mplayer bluray:///$mnt_point");
  my $mnt_point = "/mnt/iso";
  system("sudo /bin/mount | grep $mnt_point &> /dev/null && sudo
/bin/umount $mnt_point");  # unmount if old mount
  system("sudo /bin/mount -o loop $video_path $mnt_point");  # mount
  system("$exec_dir/nci_bluray.pl ${mnt_point} &");
}
else {
  system("xine -pfhq --no-splash dvd:/$video_path");
}

+++

#!/usr/bin/perl -I/home/data/scripts

###################################################################################################
#
# nci_bluray.pl
#
# external script to use mythtv's network control interface to play bluray
iso
#
###################################################################################################
use strict;

my $mnt_point = $ARGV[0];
system("echo 'play file $mnt_point' | nc localhost 6546");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mythtv.org/pipermail/mythtv-users/attachments/20130429/bb6141d7/attachment.html>


More information about the mythtv-users mailing list