[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