2012-09-14 15:51:26 +00:00
#
2012-10-11 00:04:08 +00:00
# mpv configuration file
2012-09-14 15:51:26 +00:00
#
#########################
# encoding profile file #
#########################
#
# Usage of this file: copy/symlink it to a fixed location, and add
# include = /path/to/this/encoding-example-profiles.conf
2012-10-11 00:04:08 +00:00
# to your ~/.mpv/config
2012-09-14 15:51:26 +00:00
#
# Then, list all profiles by
2012-10-11 00:04:08 +00:00
# mpv -profile help | grep enc-
2012-09-14 15:51:26 +00:00
#
# The following kinds of encoding profiles exist:
# enc-a-*: initialize an audio codec including good defaults
# enc-v-*: initialize a video codec including good defaults
# enc-f-*: initialize a file format including good defaults, including
# selecting and initializing a good audio and video codec
# enc-to-*: load known good settings for a target device; this typically
# includes selecting an enc-f-* profile, then adjusting some
# settings like frame rate, resolution and codec parameters
#
# AFTER including a profile of these, you can of course still change
# options, or even switch to another codec.
#
# You can view the exact options a profile sets by
2012-10-11 00:04:08 +00:00
# mpv -show-profile enc-to-bb-9000
2012-09-14 15:51:26 +00:00
#
# Examples:
2012-10-11 00:04:08 +00:00
# mpv -profile enc-to-dvdpal -o outfile.mpg infile.mkv
# mpv -profile enc-f-avi -ofps 30 -o outfile.avi infile.mkv
2012-11-15 14:42:06 +00:00
# mpv -profile enc-v-mpeg4 -ovcopts-add qscale=7 -profile enc-a-mp3 -oacopts-add b=320k -o outfile.avi infile.mkv
2012-09-14 15:51:26 +00:00
################
# audio codecs #
################
[enc-a-aac]
profile-desc = "AAC (libfaac or FFmpeg)"
2012-10-12 04:31:50 +00:00
oac = libfdk_aac,libfaac,libvo_aacenc,aac
2012-12-01 16:16:51 +00:00
oacopts = b=96k
2012-09-14 15:51:26 +00:00
[enc-a-ac3]
profile-desc = "AC3 (FFmpeg)"
oac = ac3
oacopts = b=448k
[enc-a-mp3]
profile-desc = "MP3 (LAME)"
oac = libmp3lame
oacopts = b=128k
[enc-a-vorbis]
profile-desc = "Vorbis (libvorbis)"
2013-03-31 17:13:06 +00:00
oac = libvorbis,vorbis
2012-11-15 14:42:06 +00:00
oacopts = qscale=3
2012-09-14 15:51:26 +00:00
################
# video codecs #
################
[enc-v-h263]
profile-desc = "H.263 (FFmpeg)"
ovc = h263
2012-11-15 14:42:06 +00:00
ovcopts = qscale=4
2012-09-14 15:51:26 +00:00
[enc-v-h264]
profile-desc = "H.264 (x264)"
ovc = libx264
ovcopts = preset=medium,crf=23,threads=0
[enc-v-mpeg2]
profile-desc = "MPEG-2 Video (FFmpeg)"
ovc = mpeg2video
ovcopts-clr = yes
[enc-v-mpeg4]
profile-desc = "MPEG-4 Part 2 (FFmpeg)"
ovc = mpeg4
2012-11-15 14:42:06 +00:00
ovcopts = qscale=4
2012-09-14 15:51:26 +00:00
[enc-v-vp8]
profile-desc = "VP8 (libvpx)"
2012-12-28 10:21:35 +00:00
ovc = libvpx
ovcopts = qmin=4,b=10000000k # ought to be enough for anyone; for CBR use, set b=; for VBR use, set qmin= to quality
2012-09-14 15:51:26 +00:00
###########
# formats #
###########
[enc-f-3gp]
profile-desc = "H.263 + AAC (for 3GP)"
of = 3gp
ocopyts = yes
profile = enc-v-h263
profile = enc-a-aac
ofopts-clr = yes
[enc-f-avi]
profile-desc = "MPEG-4 + MP3 (for AVI)"
of = avi
ocopyts = no
oautofps = yes
profile = enc-v-mpeg4
profile = enc-a-mp3
ofopts-clr = yes
[enc-f-mp4]
profile-desc = "H.264 + AAC (for MP4)"
of = mp4
ocopyts = yes
profile = enc-v-h264
profile = enc-a-aac
ofopts-clr = yes
[enc-f-webm]
profile-desc = "VP8 + Vorbis (for WebM)"
of = webm
ocopyts = yes
profile = enc-v-vp8
profile = enc-a-vorbis
ofopts-clr = yes
##################
# target devices #
##################
[enc-to-dvdpal]
2012-09-29 13:04:40 +00:00
profile-desc = "DVD-Video PAL, use dvdauthor -v pal -a ac3+en (MUST be used with 4:3 or 16:9 aspect, and 720x576, 704x576, 352x576 or 352x288 resolution)"
2012-09-14 15:51:26 +00:00
profile = enc-v-mpeg2
profile = enc-a-ac3
of = dvd
ofopts-add = packetsize=2048,muxrate=10080000
ofps = 25
oharddup = yes
2012-09-29 13:04:40 +00:00
ovfirst = yes # dvdauthor needs this
2012-09-14 15:51:26 +00:00
srate = 48000
ovcopts-add = g=15,b=6000000,maxrate=9000000,minrate=0,bufsize=1835008
[enc-to-dvdntsc]
2012-09-29 13:04:40 +00:00
profile-desc = "DVD-Video NTSC, use dvdauthor -v ntsc -a ac3+en (MUST be used with 4:3 or 16:9 aspect, and 720x480, 704x480, 352x480 or 352x240 resolution)"
2012-09-14 15:51:26 +00:00
profile = enc-v-mpeg2
profile = enc-a-ac3
of = dvd
ofopts-add = packetsize=2048,muxrate=10080000
ofps = 24000/1001
oharddup = yes
2012-09-29 13:04:40 +00:00
ovfirst = yes # dvdauthor needs this
2012-09-14 15:51:26 +00:00
srate = 48000
ovcopts-add = g=18,b=6000000,maxrate=9000000,minrate=0,bufsize=1835008
[enc-to-bb-9000]
profile-desc = "MP4 for Blackberry Bold 9000"
profile = enc-f-mp4
2012-12-01 18:50:15 +00:00
vf-add = dsize=480:360:0:2,scale=w=0:h=0,dsize=-1:-1 # native screen res, letterbox
2012-09-14 15:51:26 +00:00
ovcopts-add = maxrate=1500k,bufsize=1000k,rc_init_occupancy=900k,refs=1,profile=baseline
2013-04-04 07:40:00 +00:00
vf-add=noformat=444p,noformat=444p9,noformat=444p10,noformat=422p,noformat=422p9,noformat=422p10
2012-09-14 15:51:26 +00:00
2013-03-04 11:14:59 +00:00
[enc-to-nok-n900]
profile-desc = "MP4 for Nokia N900"
profile = enc-f-mp4
encoding-example-profiles: for Nokia N900, avoid upscaling
This yields generally smaller files, by avoiding upscaling at all times.
This method may or may not be useful for iOS, needs testing there.
Note: this uses three instances of vf_scale:
1. Scale to target dimensions, ONLY if both are <= original video
dimensions.
2. Failing that, scale to width*<calculated height by display aspect>,
ONLY if <calculated height by display aspect> <= original video
height.
3. Failing that, scale to <calculated width by display aspect>*height.
When the test before failed, we KNOW that <calculated width by
display aspect> <= original video width.
So basically, only one of the three scalers should ever be active, as
the last two scalers only can ever have an effect if the aspect ratio
mismatches the video.
As for danger of roundoff errors:
If scaler 1 succeeded, we have won. Scalers 2 and 3 will never do
anything, because display resolution == video resolution. Here it is
crucial that no rounding of video size to display size takes place; in
other words, the target display size already MUST be even, which it is
because we pass 2 to the rounding parameter of the dsize filter.
Scaler 2 and 3 are obviously mutually exclusive, as they depend on
opposite aspect ratio conditions.
We later should put this functionality directly into vf_scale...
2013-03-18 12:22:39 +00:00
vf-add = dsize=800:480:0:2,scale=w=0:h=0:noup=1,scale=w=-1:h=-2:noup=1,scale=w=-2:h=-1:noup=1,dsize=-1:-1 # native screen res, letterbox
2013-03-20 15:01:04 +00:00
ovcopts-add = profile=baseline,level=30,maxrate=10000k,bufsize=10000k,rc_init_occupancy=9000k,refs=5
2013-04-04 07:40:00 +00:00
vf-add=noformat=444p,noformat=444p9,noformat=444p10,noformat=422p,noformat=422p9,noformat=422p10
2013-03-04 11:14:59 +00:00
2012-09-14 15:51:26 +00:00
[enc-to-nok-6300]
profile-desc = "3GP for Nokia 6300"
profile = enc-f-3gp
ofps = 25
2012-09-24 14:06:21 +00:00
vf-add = scale=w=176:h=144
2012-09-14 15:51:26 +00:00
srate = 16000
channels = 1
oacopts-add = b=32k
[enc-to-psp]
profile-desc = "MP4 for PlayStation Portable"
profile = enc-f-mp4
ofps = 30000/1001
2012-12-01 18:50:15 +00:00
vf-add = scale=w=480:h=272,dsize=480:270
2012-09-14 15:51:26 +00:00
srate = 48000
channels = 2
ovcopts-add = b=512k,profile=baseline
2013-04-04 07:40:00 +00:00
vf-add=noformat=444p,noformat=444p9,noformat=444p10,noformat=422p,noformat=422p9,noformat=422p10
2012-09-14 15:51:26 +00:00
2013-01-10 10:56:04 +00:00
[enc-to-iphone-noscale]
profile-desc = "MP4 for iPhone (no scaling)"
2012-09-14 15:51:26 +00:00
profile = enc-f-mp4
oautofps = yes # iphone supports 30fps max
ovcopts-add = maxrate=2500k,bufsize=1000k,rc_init_occupancy=900k,level=30,profile=baseline
2013-04-04 07:40:00 +00:00
vf-add=noformat=444p,noformat=444p9,noformat=444p10,noformat=422p,noformat=422p9,noformat=422p10
2012-09-14 15:51:26 +00:00
2013-01-10 10:56:04 +00:00
[enc-to-iphone]
profile-desc = "MP4 for iPhone (480x320)"
2013-01-18 12:58:31 +00:00
profile = enc-to-iphone-noscale
2013-01-10 10:56:04 +00:00
vf-add = dsize=480:320:1:2,scale=w=0:h=0,dsize=-1:-1 # panscan
2012-09-14 15:51:26 +00:00
[enc-to-iphone-4]
profile-desc = "MP4 for iPhone 4 (960x640)"
2013-01-18 12:58:31 +00:00
profile = enc-to-iphone-noscale
2013-01-10 10:56:04 +00:00
vf-add = dsize=960:480:1:2,scale=w=0:h=0,dsize=-1:-1 # panscan
2012-12-01 18:50:15 +00:00
[enc-to-iphone-5]
profile-desc = "MP4 for iPhone 5 (1136x640)"
2013-01-18 12:58:31 +00:00
profile = enc-to-iphone-noscale
2013-01-10 10:56:04 +00:00
vf-add = dsize=1136:480:1:2,scale=w=0:h=0,dsize=-1:-1 # panscan