Commit e28b2fa4 authored by Christian Schaller's avatar Christian Schaller

Add WebM support

parent 2457d7c8
......@@ -3,7 +3,7 @@ AC_PREREQ(2.52)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
AC_INIT(transmageddon, 0.15,
AC_INIT(transmageddon, 0.16,
http://www.linuxrising.org/transmageddon,
transmageddon)
......
......@@ -10,7 +10,8 @@ transmageddon_PYTHON = \
discoverer.py \
presets.py \
utils.py \
about.py
about.py \
which.py
BUILT_SOURCES=
......
......@@ -37,11 +37,11 @@ containermap = { 'Ogg' : "application/ogg",'Matroska' : "video/x-matroska", 'MXF
'Quicktime' : "video/quicktime,variant=apple", 'MPEG4' : "video/quicktime,variant=iso",
'MPEG PS' : "video/mpeg,mpegversion=2,systemstream=true",
'MPEG TS' : "video/mpegts", 'FLV' : "video/x-flv", '3GPP' : "video/quicktime,variant=3gpp",
'ASF' : "video/x-ms-asf" }
'ASF' : "video/x-ms-asf", 'WebM' : "video/webm" }
csuffixmap = { 'Ogg' : ".ogg", 'Matroska' : ".mkv", 'MXF' : ".mxf", 'AVI' : ".avi", 'Quicktime' : ".mov",
'MPEG4' : ".mp4", 'MPEG PS' : ".mpg", 'MPEG TS' : ".ts", 'FLV' : ".flv", '3GPP' : ".3gp",
'ASF' : ".asf" }
'ASF' : ".asf", 'WebM' : ".webm" }
codecmap = { 'vorbis' : "audio/x-vorbis", 'flac' : "audio/x-flac", 'mp3' : "audio/mpeg, mpegversion=(int)1, layer=(int)3",
'aac' : "audio/mpeg,mpegversion=4", 'ac3' : "audio/x-ac3", 'speex' : "audio/x-speex",
......@@ -51,7 +51,7 @@ codecmap = { 'vorbis' : "audio/x-vorbis", 'flac' : "audio/x-flac", 'mp3' : "
'xvid' : "video/x-xvid", 'dnxhd' : "video/x-dnxhd", 'wmv2' : "video/x-wmv,wmvversion=2",
'dnxhd' : "video/x-dnxhd", 'divx5' : "video/x-divx,divxversion=5",
'divx4' : "video/x-divx,divxversion=4", 'amrnb' : "audio/AMR",
'h263p' : "video/x-h263,variant=itu,h263version=h263p"}
'h263p' : "video/x-h263,variant=itu,h263version=h263p", 'vp8' : "video/x-vp8"}
#####
#This code checks for available muxers and return a unique caps string
#for each. It also creates a python dictionary mapping the caps strings
......
......@@ -73,7 +73,7 @@ class Transcoder(gobject.GObject):
self.fratenum = FRATENUM
self.frateden = FRATEDEN
self.achannels = ACHANNELS
print "transcoder_engine achannels is " + str(self.achannels)
# print "transcoder_engine achannels is " + str(self.achannels)
self.blackborderflag = False
self.multipass = MULTIPASS
self.passcounter = PASSCOUNTER
......
......@@ -70,7 +70,8 @@ supported_containers = [
"MPEG4",
"3GPP",
"MXF",
"ASF"
"ASF",
"WebM"
]
supported_audio_codecs = [
......@@ -95,25 +96,27 @@ supported_video_codecs = [
"mpeg4",
"xvid",
"h263p",
"wmv2"
"wmv2",
"vp8"
]
# Maps containers to the codecs they support. The first two elements are
# "special" in that they are the default audio/video selections for that
# container.
supported_container_map = {
'Ogg': [ 'vorbis', 'theora', 'flac', 'speex', 'celt', 'dirac' ],
'Ogg': [ 'vorbis', 'theora', 'flac', 'speex', 'celt', 'dirac', 'vp8' ],
'MXF': [ 'mp3', 'h264', 'aac', 'ac3', 'mpeg2', 'mpeg4' ],
'Matroska': [ 'flac', 'dirac', 'aac', 'ac3', 'theora', 'mp3', 'h264',
'Matroska': [ 'flac', 'dirac', 'aac', 'ac3', 'theora', 'mp3', 'h264', 'vp8',
'mpeg4', 'mpeg2', 'xvid', 'vorbis', 'h263p' ],
'AVI': [ 'mp3', 'h264', 'dirac', 'ac3', 'mpeg2', 'mpeg4', 'xvid','wma2','wmv2' ],
'Quicktime': [ 'aac', 'h264', 'ac3', 'dirac', 'mp3', 'mpeg2', 'mpeg4' ],
'AVI': [ 'mp3', 'h264', 'dirac', 'ac3', 'mpeg2', 'mpeg4', 'xvid','wma2','wmv2', 'vp8' ],
'Quicktime': [ 'aac', 'h264', 'ac3', 'dirac', 'mp3', 'mpeg2', 'mpeg4', 'vp8' ],
'MPEG4': [ 'aac', 'h264', 'mp3', 'mpeg2', 'mpeg4' ],
'3GPP': [ 'aac', 'h264', 'mp3', 'mpeg2', 'mpeg4','amrnb','h263p' ],
'MPEG PS': [ 'mp3', 'mpeg2', 'ac3', 'h264', 'aac', 'mpeg4' ],
'MPEG TS': [ 'mp3', 'h264', 'ac3', 'mpeg2', 'aac', 'mpeg4', 'dirac' ],
'FLV': [ 'mp3', 'h264' ],
'ASF': [ 'wma2','wmv2','mp3']
'ASF': [ 'wma2','wmv2','mp3'],
'WebM': [ 'vorbis','vp8']
}
class TransmageddonUI:
......
......@@ -930,17 +930,6 @@
<property name="y_padding">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">10</property>
<property name="bottom_attach">11</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="vspacer11">
<property name="width_request">12</property>
......@@ -972,6 +961,24 @@
<property name="bottom_attach">10</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="vp8button">
<property name="label" translatable="yes">_On2 VP8</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="relief">none</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">theorabutton</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="top_attach">10</property>
<property name="bottom_attach">11</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment