aboutsummaryrefslogtreecommitdiffstats
path: root/lvc/resources/converters
diff options
context:
space:
mode:
Diffstat (limited to 'lvc/resources/converters')
-rw-r--r--lvc/resources/converters/android.py61
-rw-r--r--lvc/resources/converters/apple.py28
-rw-r--r--lvc/resources/converters/others.py20
3 files changed, 109 insertions, 0 deletions
diff --git a/lvc/resources/converters/android.py b/lvc/resources/converters/android.py
new file mode 100644
index 0000000..ffe73f2
--- /dev/null
+++ b/lvc/resources/converters/android.py
@@ -0,0 +1,61 @@
+from lvc.converter import FFmpegConverterInfo
+from lvc.basicconverters import MP4
+
+class AndroidConversion(FFmpegConverterInfo):
+ media_type = 'android'
+ extension = 'mp4'
+ parameters = ('-acodec aac -ac 2 -ab 160k '
+ '-vcodec libx264 -preset slow -profile:v baseline -level 30 '
+ '-maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 ')
+ simple = MP4
+
+y = AndroidConversion('Galaxy Y', 320, 240)
+mini = AndroidConversion('Galaxy Mini', 320, 240)
+ace = AndroidConversion('Galaxy Ace', 480, 320)
+admire = AndroidConversion('Galaxy Admire', 480, 320)
+charge = AndroidConversion('Galaxy Charge', 800, 480)
+s = AndroidConversion('Galaxy S / SII / S Plus', 800, 480)
+siii = AndroidConversion('Galaxy SIII', 1280, 720)
+nexus = AndroidConversion('Galaxy Nexus', 1280, 720)
+tab = AndroidConversion('Galaxy Tab', 1024, 600)
+tab_10 = AndroidConversion('Galaxy Tab 10.1', 1280, 800)
+note = AndroidConversion('Galaxy Note', 1280, 800)
+note = AndroidConversion('Galaxy Note II', 1920, 1080)
+infuse = AndroidConversion('Galaxy Infuse', 1280, 800)
+epic = AndroidConversion('Galaxy Epic', 800, 480)
+
+samsung_devices = ('Samsung', [y, mini, ace, admire, charge, s, siii, nexus,
+ tab, tab_10, note, infuse, epic])
+
+wildfire = AndroidConversion('Wildfire', 320, 240)
+desire = AndroidConversion('Desire', 800, 480)
+incredible = AndroidConversion('Droid Incredible', 800, 480)
+thunderbolt = AndroidConversion('Thunderbolt', 800, 480)
+evo = AndroidConversion('Evo 4G', 800, 480)
+sensation = AndroidConversion('Sensation', 960, 540)
+rezound = AndroidConversion('Rezound', 1280, 720)
+onex = AndroidConversion('One X', 1280, 720)
+
+htc_devices = ('HTC', [wildfire, desire, incredible, thunderbolt, evo,
+ sensation, rezound, onex])
+
+droid = AndroidConversion('Droid', 854, 480)
+droid_x2 = AndroidConversion('Droid X2', 1280, 720)
+razr = AndroidConversion('RAZR', 960, 540)
+xoom = AndroidConversion('XOOM', 1280, 800)
+
+motorola_devices = ('Motorola', [droid, droid_x2, razr, xoom])
+
+zio = AndroidConversion('Zio', 800, 480)
+
+sanyo_devices = ('Sanyo', [zio])
+
+small = AndroidConversion('Small (480x320)', 480, 320)
+normal = AndroidConversion('Normal (800x480)', 800, 480)
+large720 = AndroidConversion('Large (720p)', 1280, 720)
+large1080 = AndroidConversion('Large (1080p)', 1920, 1080)
+
+more_devices = ('More Devices', [small, normal, large720, large1080])
+
+converters = [samsung_devices, htc_devices, motorola_devices, sanyo_devices,
+ more_devices]
diff --git a/lvc/resources/converters/apple.py b/lvc/resources/converters/apple.py
new file mode 100644
index 0000000..88dc973
--- /dev/null
+++ b/lvc/resources/converters/apple.py
@@ -0,0 +1,28 @@
+from lvc.converter import FFmpegConverterInfo
+from lvc.basicconverters import MP4
+
+class AppleConversion(FFmpegConverterInfo):
+ media_type = 'apple'
+ extension = 'mp4'
+ parameters = ('-acodec aac -ac 2 -ab 160k '
+ '-vcodec libx264 -preset slow -profile:v baseline -level 30 '
+ '-maxrate 10000000 -bufsize 10000000 -vb 1200k -f mp4 '
+ '-threads 0')
+ simple = MP4
+
+
+DEFAULT_SIZE = (480, 320)
+
+ipod = AppleConversion('iPod Nano/Classic', *DEFAULT_SIZE)
+ipod_touch = AppleConversion('iPod Touch', 640, 480)
+ipod_retina = AppleConversion('iPod Touch 4+', 960, 640)
+iphone = AppleConversion('iPhone', 640, 480)
+iphone_retina = AppleConversion('iPhone 4+', 960, 640)
+iphone_5 = AppleConversion('iPhone 5', 1920, 1080)
+ipad = AppleConversion('iPad', 1024, 768)
+ipad_retina = AppleConversion('iPad 3', 1920, 1080)
+apple_tv = AppleConversion('Apple TV', 1280, 720)
+universal = AppleConversion('Apple Universal', 1280, 720)
+
+converters = [ipod, ipod_touch, ipod_retina, iphone, iphone_retina, iphone_5,
+ ipad, ipad_retina, apple_tv, universal]
diff --git a/lvc/resources/converters/others.py b/lvc/resources/converters/others.py
new file mode 100644
index 0000000..13ad3b0
--- /dev/null
+++ b/lvc/resources/converters/others.py
@@ -0,0 +1,20 @@
+from lvc.converter import FFmpegConverterInfo
+
+class PlaystationPortable(FFmpegConverterInfo):
+ media_type = 'other'
+ extension = 'mp4'
+ parameters = ('-b 512000 -ar 24000 -ab 64000 '
+ '-f psp -r 29.97').split()
+
+
+class KindleFire(FFmpegConverterInfo):
+ media_type = 'other'
+ extension = 'mp4'
+ parameters = ('-acodec aac -ab 96k -vcodec libx264 '
+ '-preset slow -f mp4 -crf 22').split()
+
+
+psp = PlaystationPortable('Playstation Portable', 320, 240)
+kindle_fire = KindleFire('Kindle Fire', 1224, 600)
+
+converters = [psp, kindle_fire]