summaryrefslogtreecommitdiff
path: root/ar/.local/bin/dvdburn
blob: 30993e1de04ec337c9f5da1e0ca622142338948b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh

# Check if input file is provided
if [ $# -eq 0 ]; then
  echo "Usage: $0 input_video.mp4"
  exit 1
fi

# Check if input file exists
input="$1"
fn="${input%.*}"
if [ ! -f "$input" ]; then
  echo "Error: Input file '$input' not found."
  exit 1
fi

# Set default VIDEO_FORMAT if not provided
export VIDEO_FORMAT="${VIDEO_FORMAT:-NTSC}"

# Create temporary directory for DVD structure
tmp_dir=$(mktemp -d)
echo "Temporary directory created: $tmp_dir"

# Convert MP4 to DVD-compatible MPEG-2 format
echo "Converting $input to DVD-Video format ($VIDEO_FORMAT)..."
format=$(printf '%s' "$VIDEO_FORMAT" | tr '[:upper:]' '[:lower:]')
ffmpeg -i "$input" -target "$format-dvd" -aspect 16:9 "$tmp_dir/$fn.mpg"

# Create DVD file structure
echo "Creating DVD file structure..."
dvdauthor -o "$tmp_dir/dvd" -t "$tmp_dir/$fn.mpg"
dvdauthor -o "$tmp_dir/dvd" -T

# Create ISO image from DVD structure
echo "Creating ISO image..."
mkisofs -dvd-video -o "$tmp_dir/$fn.iso" "$tmp_dir/dvd/"

# Burn ISO image to DVD
echo "Burning DVD..."
wodim -v dev=/dev/sr0 speed=8 -eject "$tmp_dir/$fn.iso"

# Cleanup
echo "Cleaning up..."
rm -rf "$tmp_dir"

echo "Done!"