bluray_copy

bluray_copy is a program that ships with the bluray_info package of utils. You can use it to copy a track directly off a disc either to your drive, or to stdout.

You will need libaacs installed and a valid KEYDB.cfg file for copying. See Blu-ray DRM for details.

See bluray_copy –help.

bluray_copy - copy a Blu-ray title or playlist to a file

Usage: bluray_copy [path] [options]

Options:
  -m, --main               Copy main title (default)
  -t, --title <#>          Copy title number
  -p, --playlist <#>       Copy playlist number
  -c, --chapter <#>[-#]    Copy chapter number or range

Destination:
  -o, --output <filename>  Save to filename (default: bluray_title_###.m2ts)
      --output -           Write to stdout

Other:
  -k, --keydb <filename>   Location to KEYDB.cfg (default: ~/.config/aacs/KEYDB.cfg)
  -a, --angle <#>          Video angle (default: 1)
  -h, --help		   This output
      --version		   Version information

Blu-ray path can be a device, a filename, or directory; default is /dev/sr0

I like to pipe mine to ffprobe sometimes to see what's in there. ffprobe will quit once it has enough data, so no need to worry about bluray_copy trying to get everything off. Here's Batman Begins:

bluray_copy -o - | ffprobe -
Input #0, mpegts, from 'pipe:':
  Duration: N/A, start: 600.000000, bitrate: 4032 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: vc1 (Advanced) [VC[45]1 / 0x312D4356]
      yuv420p, bt709/bt709/bt709
      1920x1080 [PAR 1:1 DAR 16:9]
      23.98 fps, 90k tbn
    Stream #0:1[0x1100]: Audio: ac3 [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, fltp, 640 kb/s
    Stream #0:2[0x1101]: Audio: truehd [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, s32
    Stream #0:3[0x1101]: Audio: ac3 [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, fltp, 640 kb/s
    Stream #0:4[0x1102]: Audio: ac3 [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, fltp, 640 kb/s
    Stream #0:5[0x1103]: Audio: ac3 [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, fltp, 640 kb/s
    Stream #0:6[0x1104]: Audio: ac3 [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, fltp, 640 kb/s
    Stream #0:7[0x1105]: Audio: ac3 [AC[45]3 / 0x332D4341]
      48000 Hz, 5.1, fltp, 640 kb/s
    Stream #0:8[0x1200]: Subtitle: hdmv_pgs_subtitle
    Stream #0:9[0x1201]: Subtitle: hdmv_pgs_subtitle
    Stream #0:10[0x1202]: Subtitle: hdmv_pgs_subtitle
    Stream #0:11[0x1203]: Subtitle: hdmv_pgs_subtitle
    Stream #0:12[0x1204]: Subtitle: hdmv_pgs_subtitle
    Stream #0:13[0x1205]: Subtitle: hdmv_pgs_subtitle
    Stream #0:14[0x1206]: Subtitle: hdmv_pgs_subtitle
    Stream #0:15[0x1207]: Subtitle: hdmv_pgs_subtitle
    Stream #0:16[0x1208]: Subtitle: hdmv_pgs_subtitle
    Stream #0:17[0x1209]: Subtitle: hdmv_pgs_subtitle
    Stream #0:18[0x120a]: Subtitle: hdmv_pgs_subtitle
    Stream #0:19[0x120b]: Subtitle: hdmv_pgs_subtitle
    Stream #0:20[0x120c]: Subtitle: hdmv_pgs_subtitle
    Stream #0:21[0x120d]: Subtitle: hdmv_pgs_subtitle
    Stream #0:22[0x120e]: Subtitle: hdmv_pgs_subtitle
    Stream #0:23[0x120f]: Subtitle: hdmv_pgs_subtitle
    Stream #0:24[0x1210]: Subtitle: hdmv_pgs_subtitle
    Stream #0:25[0x1211]: Subtitle: hdmv_pgs_subtitle
    Stream #0:26[0x1212]: Subtitle: hdmv_pgs_subtitle
    Stream #0:27[0x1a00]: Audio: eac3 [[161][0][0][0] / 0x00A1]
      48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:28[0x1b00]: Video: vc1 (Advanced) [VC[45]1 / 0x312D4356]
          yuv420p, smpte170m/smpte170m/unknown
      720x480 [PAR 10:11 DAR 15:11]
      23.98 fps, 90k tbn