Merge pull request #106 from nightexcessive/master

Always transcode all streams of a file
This commit is contained in:
Clinton Hall 2013-04-01 15:53:30 -07:00
commit aa6f29968f
3 changed files with 34 additions and 13 deletions

5
.gitignore vendored
View file

@ -1 +1,6 @@
autoProcessMedia.cfg
*.pyc
*.pyo
postprocess.log

View file

@ -39,13 +39,17 @@ def Transcode_directory(dirName):
mediaContainer = (config.get("Extensions", "mediaExtensions")).split(',')
duplicate = int(config.get("Transcoder", "duplicate"))
ignoreExtensions = (config.get("Transcoder", "ignoreExtensions")).split(',')
outputVideoExtension = config.get("Transcoder", "outputVideoExtension")
outputVideoCodec = config.get("Transcoder", "outputVideoCodec")
outputVideoPreset = config.get("Transcoder", "outputVideoPreset")
outputVideoFramerate = config.get("Transcoder", "outputVideoFramerate")
outputVideoBitrate = config.get("Transcoder", "outputVideoBitrate")
outputAudioCodec = config.get("Transcoder", "outputAudioCodec")
outputAudioBitrate = config.get("Transcoder", "outputAudioBitrate")
outputVideoExtension = config.get("Transcoder", "outputVideoExtension").strip()
outputVideoCodec = config.get("Transcoder", "outputVideoCodec").strip()
outputVideoPreset = config.get("Transcoder", "outputVideoPreset").strip()
outputVideoFramerate = config.get("Transcoder", "outputVideoFramerate").strip()
outputVideoBitrate = config.get("Transcoder", "outputVideoBitrate").strip()
outputAudioCodec = config.get("Transcoder", "outputAudioCodec").strip()
outputAudioBitrate = config.get("Transcoder", "outputAudioBitrate").strip()
outputSubtitleCodec = config.get("Transcoder", "outputSubtitleCodec").strip()
map(lambda ext: ext.strip(), mediaContainer)
map(lambda ext: ext.strip(), ignoreExtensions)
Logger.info("Checking for files to be transcoded")
final_result = 0 # initialize as successful
@ -61,25 +65,36 @@ def Transcode_directory(dirName):
outputVideoExtension = '-transcoded' + outputVideoExtension # adds '-transcoded.ext'
newfilePath = os.path.normpath(name + outputVideoExtension)
command = [ffmpeg, '-i', filePath]
if outputVideoCodec:
command = [ffmpeg, '-i', filePath, '-map', '0']
if len(outputVideoCodec) > 0:
command.append('-c:v')
command.append(outputVideoCodec)
if outputVideoCodec == 'libx264' and outputVideoPreset:
command.append('-preset')
command.append(outputVideoPreset)
if outputVideoFramerate:
else:
command.append('-c:v')
command.append('copy')
if len(outputVideoFramerate) > 0:
command.append('-r')
command.append(outputVideoFramerate)
if outputVideoBitrate:
if len(outputVideoBitrate) > 0:
command.append('-b:v')
command.append(outputVideoBitrate)
if outputAudioCodec:
if len(outputAudioCodec) > 0:
command.append('-c:a')
command.append(outputAudioCodec)
if outputAudioBitrate:
else:
command.append('-c:a')
command.append('copy')
if len(outputAudioBitrate) > 0:
command.append('-b:a')
command.append(outputAudioBitrate)
if len(outputSubtitleCodec) > 0:
command.append('-c:s')
command.append(outputSubtitleCodec)
else:
command.append('-sn') # Don't copy the subtitles over
command.append(newfilePath)
Logger.debug("Transcoding video %s to %s", filePath, newfilePath)

View file

@ -110,6 +110,7 @@ outputVideoFramerate = 24
outputVideoBitrate = 800k
outputAudioCodec = libmp3lame
outputAudioBitrate = 128k
outputSubtitleCodec =
# Logging configuration
[loggers]