I have some mkv videos. Is there a way I can burn them to a DVD and watch them in my blu ray player without losing quality? My blu ray player will not support mkv files but is there a way I can convert them to AVCHD or another format that is HD and burn them to a DVD and play them in my player?
Yes their are numerous software's that offer this option....The issue at least for me is time....none so far execute this option in a timely manner. You'll be waiting many hours to complete such a task.
entirely not true. run this script to convert from mkv to avchd. once you install the required deps the converting process will take only a few minutes. Code: #!/bin/bash ######################################### # EqUaTe's MKV to M2TS remuxing script # # Custom version for muxing to AVCHD # # # # Version: 0.5.8 # # # # This script takes an H.264 encoded # # video, in an MKV container, demuxes # # it, reencodes the audio if necessary, # # and muxes to an M2TS container. # # # # # # Supported audio formats: # # AC3 # # DTS # # # ######################################### echo TSMUXER=$(which tsMuxeR) AUDIOLANG=eng MKV="$1" REQMISS=0 OPTMISS=0 if [ -z $TSMUXER ] then REQMISS=$(($REQMISS+1)) MISSING="tsmuxer" fi if [ -z $(which mediainfo) ] then REQMISS=$(($REQMISS+1)) MISSING="$MISSING mediainfo" fi if [ -z $(which mkvinfo) ] then REQMISS=$(($REQMISS+1)) MISSING="$MISSING mkvtoolnix" fi if [ -z $(which aften) ] then REQMISS=$(($REQMISS+1)) MISSING="$MISSING aften" fi if [ -z $(which dcadec) ] then OPTMISS=$(($OPTMISS+1)) DTS=1 MISSING="$MISSING dcadec" else DTS=0 fi if [ -z $(which faad) ] then OPTMISS=$(($OPTMISS+1)) AAC=1 MISSING="$MISSING faad" else AAC=0 fi if [ -z $(which oggdec) ] then OPTMISS=$(($OPTMISS+1)) VORBIS=1 MISSING="$MISSING oggdec" else VORBIS=0 fi if [[ "$REQMISS" -gt "0" || "$OPTMISS" -gt "0" ]] then echo "Software used by this script is missing." for i in $(echo $MISSING) do case $i in tsmuxer) echo "tsMuxeR is missing. This is required. Please download from: [url]http://www.smlabs.net/tsmuxer_en.html"[/url] ;; mediainfo) echo "mediainfo is missing. This is required. Please download the CLI version from: [url]http://mediainfo.sourceforge.net/en"[/url] ;; mkvtoolnix) echo "mkvtoolnix (mkvmerge, mkvinfo, mkvextract) is missing. This is required. Please install the mkvtoolnix package for your distro." ;; aften) echo "aften is missing. This is required. Please install the aften package for your distro, or install manually from [url]http://aften.sourceforge.net"[/url] ;; dcadec) echo "dcadec is missing. This is optional. Please install the libdca0 package for you distro, or install manually from [url]http://www.videolan.org/developers/libdca.html"[/url] echo "Note that not installing this package will reduce the functionality of this script. It is highly recommended that you install it." ;; faad) echo "faad is missing. This is optional. Please install the faad package for your distro." echo "Note that not installing this package will reduce the functionality of this script. It is highly recommended that you install it." ;; oggdec) echo "oggdec is missing. This is optional. Please install the vorbis-tools package for your distro." echo -e "Note that not installing this package will reduce the functionality of this script. It is highly recommended that you install it." ;; *) ;; esac if [ "$REQMISS" -gt "0" ] then echo echo "Required software is missing. Aborting." exit 1 fi if [ "$OPTMISS" -gt "0" ] then echo echo "Some optional software is missing. Functionality has been reduced." echo fi done fi CONTAINER=$(mkvmerge -i "$MKV" | head -n 1 | cut -d':' -f3 | cut -c 2-) if [ -z "$MKV" ] then echo "No MKV file was provided." echo echo "Usage: mkv2m2ts.sh filename.mkv" echo exit 1 else CONTAINER=$(mkvmerge -i "$MKV" | head -n 1 | cut -d':' -f3 | cut -c 2-) fi if [ "$CONTAINER" != "Matroska" ] then echo "Invalid MKV provided." echo "The supplied file has a container type of:" echo -e "\t\t$CONTAINER" echo echo "Please supply a valid MKV." echo exit 1 else echo "Valid MKV supplied. Continuing." fi #Audio format check echo "Checking audio format(s)" NAME=$(basename "${1%.*}") if [ $(echo "$NAME" | wc -w) -gt 1 ] then ORIGNAME=$NAME NAME=$(echo $NAME | sed 's/ /_/g') fi FPS=$(mkvinfo "$MKV" | grep fps | grep -v 32.000ms | cut -d"(" -f2 | cut -d" " -f1) NUMAUDIOTRACKS=$(mediainfo "$MKV" | tr -d '\r' | tr '\n' ';' | sed 's/;;/\n/g' | grep Audio | egrep -i "dca|dts|ac3|aac|vorbis" | wc -l) NUMENGTRACKS=$(mediainfo "$MKV" | tr -d '\r' | tr '\n' ';' | sed 's/;;/\n/g' | grep Audio | egrep -i 'dca|dts|ac3|aac|vorbis' | grep English | wc -l) AVCLEVEL=$(mediainfo "$MKV" | tr -d '\r' | tr '\n' ';' | sed 's/;;/\n/g' | grep Video | sed 's/;/\n/g' | grep "Format profile" | cut -d':' -f2 | cut -d'@' -f2 | tr -d 'L') AVCLEVEL1=$(echo $AVCLEVEL | cut -d'.' -f1) AVCLEVEL2=$(echo $AVCLEVEL | cut -d'.' -f2) VIDEOTRACK=$(mkvmerge -i "$MKV" | grep video | cut -d':' -f1 | cut -d' ' -f3) if [ "$NUMENGTRACKS" -eq "1" ] then SINGLEAUDIO=yes echo "Single valid audio stream detected." AUDIOFORMAT=$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | grep eng | sed 's/||/\n/g' | grep "Codec ID" | cut -d'_' -f2) AUDIOTRACK=$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep $AUDIOFORMAT | grep eng | sed 's/||/\n/g' | grep "Track number" | cut -d':' -f2 | tr -d ' ') elif [ "$NUMAUDIOTRACKS" -eq "1" ] then SINGLEAUDIO=yes echo "Single valid audio stream detected." AUDIOFORMAT=$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | sed 's/||/\n/g' | grep "Codec ID" | cut -d'_' -f2) AUDIOTRACK=$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep $AUDIOFORMAT | sed 's/||/\n/g' | grep "Track number" | cut -d':' -f2 | tr -d ' ') else SINGLEAUDIO=no echo "Multiple audio streams detected." TRACKNUM=1 if [ "$NUMENGTRACKS" -gt "1" ] then while [ "$TRACKNUM" -le "$NUMENGTRACKS" ] do AUDIOFORMAT=$AUDIOFORMAT:$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | grep $AUDIOLANG | head -n$TRACKNUM | tail -n1 | sed 's/||/\n/g' | grep "Codec ID" | cut -d'_' -f2) #AUDIOLANG2=$AUDIOLANG2:$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | grep $AUDIOLANG | head -n$TRACKNUM | tail -n1 | sed 's/||/\n/g' | grep Language | cut -f2 -d':' | tr -d ' ') AUDIOTRACK=$AUDIOTRACK:$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | grep $AUDIOLANG | head -n$TRACKNUM | tail -n1 | sed 's/||/\n/g' | grep "Track number" | cut -f2 -d':' | tr -d ' ') TRACKNUM=$(($TRACKNUM+1)) done else while [ $TRACKNUM -le $NUMAUDIOTRACKS ] do AUDIOFORMAT=$AUDIOFORMAT:$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | head -n$TRACKNUM | tail -n1 | sed 's/||/\n/g' | grep "Codec ID" | cut -d'_' -f2) #AUDIOLANG2=$AUDIOLANG2:$(mkvinfo "$MKV" | tr '\n' '|' | sed 's/|| +/\n/g' | sed 's/||+/\n/g' | grep "A track" | grep audio | head -n$TRACKNUM | tail -n1 | sed 's/||/\n/g' | grep Language | cut -f2 -d':' | tr -d ' ') TRACKNUM=$(($TRACKNUM+1)) done fi AUDIOFORMAT=$(echo $AUDIOFORMAT | sed -e 's/:/ /g' | cut -d' ' -f2- ) AUDIOTRACK=$(echo $AUDIOTRACK | sed -e 's/:/ /g' | cut -d' ' -f2- ) #AUDIOLANG2=$(echo $AUDIOLANG2 | sed -e 's/:/ /g' | cut -d' ' -f2- ) fi echo TRACKNUM=1 for i in $AUDIOFORMAT do case $i in AC3|ac3) echo AC3 audio detected. Good. mkvextract tracks "$MKV" $(echo -n $AUDIOTRACK | cut -d' ' -f$TRACKNUM):"$NAME$TRACKNUM.ac3" AUDIO="$AUDIO $NAME$TRACKNUM.ac3,:lang=$AUDIOLANG" ;; DTS|dts|DCA|dca) if [ "$DTS" -eq "1" ] then echo "DTS processing has been disabled. This track will be skipped. Please install dcadec (libdca0)" echo else echo DTS audio detected. Need to transcode to AC3. echo Beginning transcode. mkvextract tracks "$MKV" $(echo -n $AUDIOTRACK | cut -d' ' -f$TRACKNUM):"$NAME$TRACKNUM.dts" dcadec -o wavall "$NAME$TRACKNUM.dts" | aften -b 640 - "$NAME$TRACKNUM.ac3" 2>/dev/null AUDIO="$AUDIO $NAME$TRACKNUM.ac3,:lang=$AUDIOLANG" rm "$NAME$TRACKNUM.dts" fi ;; AAC|aac) if [ "$AAC" -eq "1" ] then echo "AAC processing has been disabled. This track will be skipped. Please install faad." echo else echo AAC audio detected. Need to transcode to AC3. echo Beginning transcode. mkvextract tracks "$MKV" $(echo -n $AUDIOTRACK | cut -d' ' -f$TRACKNUM):"$NAME$TRACKNUM.aac" faad -o - "$NAME$TRACKNUM.aac" | aften -b 640 - "$NAME$TRACKNUM.ac3" 2>/dev/null AUDIO="$AUDIO $NAME$TRACKNUM.ac3,:lang=$AUDIOLANG" rm "$NAME$TRACKNUM.aac" fi ;; VORBIS|vorbis) if [ "$VORBIS" -eq "1" ] then echo "VORBIS audio processing has been disabled. This track will be skipped. Please install oggdec (vorbis-tools)" echo else echo "VORBIS audio detected. Need to transcode to AC3." echo "Beginning transcode." mkvextract tracks "$MKV" $(echo -n $AUDIOTRACK | cut -d' ' -f$TRACKNUM):"$NAME$TRACKNUM.oga" oggdec -o - "$NAME$TRACKNUM.oga" | aften -b 256 - "$NAME$TRACKNUM.ac3" 2>/dev/null AUDIO="$AUDIO $NAME$TRACKNUM.ac3,:lang=$AUDIOLANG" rm "$NAME$TRACKNUM.oga" fi ;; *) echo Unsupported audio format. ;; esac TRACKNUM=$(($TRACKNUM+1)) done echo Extracting Video track. mkvextract tracks "$MKV" $VIDEOTRACK:"$NAME".h264 echo MUXOPT --no-pcr-on-video-pid --new-audio-pes --avchd --vbr --auto-chapters=5 --vbv-len=500 > "$NAME".meta if [ "$AVCLEVEL1" -gt "4" ] then echo V_MPEG4/ISO/AVC, "$NAME.h264", level=4.1, insertSEI, contSPS, lang=eng >> "$NAME".meta elif [[ "$AVCLEVEL1" -eq "4" && "$AVCLEVEL2" -gt 1 ]] then echo V_MPEG4/ISO/AVC, "$NAME.h264", level=4.1, insertSEI, contSPS, lang=eng >> "$NAME".meta else echo V_MPEG4/ISO/AVC, "$NAME.h264", insertSEI, contSPS, lang=eng >> "$NAME".meta fi for i in `echo $AUDIO` do echo A_AC3, "`echo $i | sed -e 's/:/ /g'`" >> "$NAME".meta done echo echo "Audio transcode complete. Calling tsmuxer." if [ -n "$ORIGNAME" ] then $TSMUXER "$NAME.meta" "$ORIGNAME.m2ts" else $TSMUXER "$NAME.meta" "$NAME.m2ts" fi if [ "$?" -eq "0" ] then rm "$NAME".h264 rm "$NAME".meta TMP=1 while [ $TMP -lt $TRACKNUM ] do rm "$NAME$TMP.ac3" TMP=$(($TMP+1)) done f
http://www.afterdawn.com/guides/archive/convert_mkv_to_avchd_for_ps3_and_blu-ray.cfm Is this what I need to use?
yes you can do that or run the script. sense you didnt notice it was a bash script im guessing you know nothing about linux and that script wont help you at all. not poking fun just stating the facts. that script will do everything for you in linux. if your not running linux you should do what you posted though. its going to be more tedious to you though since that script does EVERYTHING for you. try what you posted though
and as a side note the reason it doesnt take it forever is b/c you are simply remuxing (switching containers) and not transcoding where you would be switching codecs
It depends on the length of you video. my video was 45min and the encoding process only took 1 min 28 sec plus the amount of time it took me to burn it with Nero. Maybe a total of ten minutes