Poor stream quality, perfect rip quality -- any ideas?

The place to discuss linux version of MakeMKV
Post Reply
schotty
Posts: 11
Joined: Sat Aug 02, 2014 12:06 pm

Poor stream quality, perfect rip quality -- any ideas?

Post by schotty »

OK I have several discs I have been using to look into rip speed issues, and noticed that I can rip (slowly) but get perfect results. Streaming is pure garbage. 2 secs of video, 15 sec of buffering. This is via VLC or mPlayer.

Any tips on what I should look into as the culprit? I am currently in possession of one BD-ROM reader drive (not into BD burning), so hardware issues might be a bit more difficult to troubleshoot.

I have checked that my package is building correctly, and unless I am just oblivious to something obvious I can't see what in the ./configure is not present. That said, ldd does not show any linking to libmmbd if it should. I do have ripping capabilities so perhaps it isn't linked but dynamically loaded (appears to be the case at least).

Frankly, I am lost at what could be the issue. I am streaming from MakeMKV to either VLC or mPlayer on the same machine, so LAN congestion or bandwidth issues are not relevant.

./config info

Code: Select all

+ ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for -objcopy... no
checking for objcopy... objcopy
checking for -ld... no
checking for ld... ld
checking for a BSD-compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for compress2 in -lz... yes
checking openssl/opensslconf.h usability... yes
checking openssl/opensslconf.h presence... yes
checking for openssl/opensslconf.h... yes
checking for AES_encrypt in -lcrypto... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for XML_ParserCreate in -lexpat... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ffmpeg... yes
checking whether LIBAVCODEC_VERSION_MAJOR is declared... yes
checking LIBAVCODEC_VERSION_MAJOR... 56
checking for AVFrame.nb_samples... yes
checking whether AV_SAMPLE_FMT_U8P is declared... yes
checking for avcodec_encode_audio2... yes
checking for AVCodecContext.refcounted_frames... yes
checking whether avcodec_free_frame is declared... yes
checking whether av_frame_free is declared... yes
checking for av_log_format_line... yes
checking for enum AVCodecID... yes
checking whether AV_CODEC_ID_NONE is declared... yes
checking whether av_frame_get_channels is declared... yes
checking whether av_frame_get_sample_rate is declared... yes
checking whether av_frame_set_channel_layout is declared... yes
checking for AVCodecParserContext.duration... yes
checking whether AV_CH_TOP_BACK_CENTER is declared... yes
checking for qt5... no
checking for qt4... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libffabi/src/ffabicfg.h
config.status: libffabi/src/ffabicfg.h is unchanged
DLL info

Code: Select all

 andrew  /  usr  lib64  pwd
/usr/lib64
 andrew  /  usr  lib64  ls -aZ libmmbd.so.0 libaacs.so.0 libbdplus.so.0
lrwxrwxrwx. root root system_u:object_r:lib_t:s0       libaacs.so.0 -> /usr/lib64/libmmbd.so.0
lrwxrwxrwx. root root system_u:object_r:lib_t:s0       libbdplus.so.0 -> /usr/lib64/libmmbd.so.0
-rwxr-xr-x. root root system_u:object_r:lib_t:s0       libmmbd.so.0
 andrew  /  usr  lib64  ldd /usr/bin/makemkv
	linux-vdso.so.1 =>  (0x00007ffd5f1c1000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fdbc3575000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fdbc326e000)
	libQtGui.so.4 => /lib64/libQtGui.so.4 (0x00007fdbc2591000)
	libQtDBus.so.4 => /lib64/libQtDBus.so.4 (0x00007fdbc2313000)
	libQtXml.so.4 => /lib64/libQtXml.so.4 (0x00007fdbc20cf000)
	libQtCore.so.4 => /lib64/libQtCore.so.4 (0x00007fdbc1be3000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdbc19c7000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fdbc17b1000)
	librt.so.1 => /lib64/librt.so.1 (0x00007fdbc15a8000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fdbc1392000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fdbc3964000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fdbc1090000)
	libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007fdbc0e8d000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fdbc0b5a000)
	libpng15.so.15 => /lib64/libpng15.so.15 (0x00007fdbc092f000)
	libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007fdbc0688000)
	libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007fdbc0438000)
	libSM.so.6 => /lib64/libSM.so.6 (0x00007fdbc0230000)
	libICE.so.6 => /lib64/libICE.so.6 (0x00007fdbc0013000)
	libXi.so.6 => /lib64/libXi.so.6 (0x00007fdbbfe03000)
	libXrender.so.1 => /lib64/libXrender.so.1 (0x00007fdbbfbf9000)
	libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007fdbbf9ee000)
	libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007fdbbf7e8000)
	libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007fdbbf5dd000)
	libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007fdbbf3d9000)
	libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007fdbbf19d000)
	libXext.so.6 => /lib64/libXext.so.6 (0x00007fdbbef8b000)
	libX11.so.6 => /lib64/libX11.so.6 (0x00007fdbbec4c000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fdbbea04000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fdbbe7ff000)
	libffi.so.6 => /lib64/libffi.so.6 (0x00007fdbbe5f7000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fdbbe3f1000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fdbbe1c7000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00007fdbbdfa5000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00007fdbbdda1000)
schotty
Posts: 11
Joined: Sat Aug 02, 2014 12:06 pm

Re: Poor stream quality, perfect rip quality -- any ideas?

Post by schotty »

bump
zebulon
Posts: 6
Joined: Mon Dec 07, 2015 2:02 pm

Re: Poor stream quality, perfect rip quality -- any ideas?

Post by zebulon »

Hi I had the same issue, maybe not as severe as you, on my Archlinux system and a BH10LS30 LG drive. I reported in http://www.makemkv.com/forum2/viewtopic.php?f=8&t=10625 that streaming was leading blocky and chopped videos (using an AACS protected BR disc, NOT BD+), and that after that ripping to an mkv was slow and chopped too. After restarting the system, makemkv was ripping the disc fine and faster.
Could be an issue with buffering when streaming?
Woodstock
Posts: 10385
Joined: Sun Jul 24, 2011 11:21 pm

Re: Poor stream quality, perfect rip quality -- any ideas?

Post by Woodstock »

There have been past reports that a large buffer makes it harder to get smooth streaming, because the operating system lets the disk spin down more often. In Preferences->IO, you can set a smaller read buffer. The default is "auto", which is great for ripping, but maybe not so great for streaming.
zebulon
Posts: 6
Joined: Mon Dec 07, 2015 2:02 pm

Re: Poor stream quality, perfect rip quality -- any ideas?

Post by zebulon »

Woodstock wrote:There have been past reports that a large buffer makes it harder to get smooth streaming, because the operating system lets the disk spin down more often. In Preferences->IO, you can set a smaller read buffer. The default is "auto", which is great for ripping, but maybe not so great for streaming.
Thanks for the tip, I will try this.
Post Reply