Skip to content

Commit 18b08d9

Browse files
Merge pull request #78 from cchampet/dev_python_example
Add python app pyProcessor
2 parents 237d703 + 4913cba commit 18b08d9

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

app/python/pyProcessor/pyProcessor.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import sys
2+
3+
from AvTranscoder import AvTranscoder
4+
5+
def parseConfigFile( inputConfigFile, transcoder ):
6+
"""
7+
Parse a config file with for each lines:
8+
<media_file>=<stream_index>.<substream_index>:<profile_name>
9+
* The substream index is not necessary.
10+
* Dummy streams (video and audio) are not supported.
11+
* Offset is not supported.
12+
"""
13+
file = open( inputConfigFile, 'r' )
14+
for line in file:
15+
line = line.strip( '\n' )
16+
17+
name = line.split( '=' )
18+
filename = name[0]
19+
20+
params = name[1].split( ':' )
21+
streamIndex = int( params[0] )
22+
subStreamIndex = -1 if '.' not in params[0] else params[0].split( '.' )[0]
23+
profileName = '' if not params[1] else params[1]
24+
25+
transcoder.add( filename, streamIndex, subStreamIndex, profileName )
26+
27+
if len(sys.argv) < 3:
28+
print "pyProcessor requires an input config file and an output media filename"
29+
exit(1)
30+
31+
# create Transcoder
32+
ouputFile = AvTranscoder.OutputFile( sys.argv[2] )
33+
transcoder = AvTranscoder.Transcoder( ouputFile )
34+
35+
# parse configuration file
36+
inputConfigFile = sys.argv[1]
37+
parseConfigFile( inputConfigFile, transcoder )
38+
39+
# initialize Transcoder
40+
transcoder.setProcessMethod( AvTranscoder.eProcessMethodLongest )
41+
transcoder.init()
42+
43+
# Process transcode
44+
progress = AvTranscoder.ProgressListener()
45+
transcoder.process( progress )

0 commit comments

Comments
 (0)