convert sample_rate to integer and dont force a volume_filter
added volume_filter example deleted _get_volume_filter
This commit is contained in:
parent
8c25f65024
commit
7b01dde063
3 changed files with 8 additions and 10 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -15,3 +15,6 @@ _trial_temp/
|
||||||
/tests/.coverage.*
|
/tests/.coverage.*
|
||||||
|
|
||||||
/lbry/wallet/bin
|
/lbry/wallet/bin
|
||||||
|
|
||||||
|
/.vscode
|
||||||
|
/.gitignore
|
|
@ -487,7 +487,7 @@ class TranscodeConfig(BaseConfig):
|
||||||
audio_encoder = String('FFmpeg codec and parameters for the audio encoding. '
|
audio_encoder = String('FFmpeg codec and parameters for the audio encoding. '
|
||||||
'Example: libopus -b:a 128k',
|
'Example: libopus -b:a 128k',
|
||||||
'aac -b:a 160k')
|
'aac -b:a 160k')
|
||||||
volume_filter = String('FFmpeg filter for audio normalization.', '-af loudnorm')
|
volume_filter = String('FFmpeg filter for audio normalization. Exmple: -af loudnorm', '')
|
||||||
volume_analysis_time = Integer('Maximum seconds into the file that we examine audio volume (0 to disable).', 240)
|
volume_analysis_time = Integer('Maximum seconds into the file that we examine audio volume (0 to disable).', 240)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -195,12 +195,11 @@ class VideoFileAnalyzer:
|
||||||
if stream["codec_type"] != "audio":
|
if stream["codec_type"] != "audio":
|
||||||
continue
|
continue
|
||||||
codec = stream["codec_name"]
|
codec = stream["codec_name"]
|
||||||
sample_rate = stream['sample_rate']
|
|
||||||
log.debug(" Detected audio codec is %s", codec)
|
log.debug(" Detected audio codec is %s", codec)
|
||||||
if not {"aac", "mp3", "flac", "vorbis", "opus"}.intersection(codec.split(",")):
|
if not {"aac", "mp3", "flac", "vorbis", "opus"}.intersection(codec.split(",")):
|
||||||
return "Audio codec is not in the approved list of AAC, FLAC, MP3, Vorbis, and Opus. " \
|
return "Audio codec is not in the approved list of AAC, FLAC, MP3, Vorbis, and Opus. " \
|
||||||
f"Actual: {codec} [{stream['codec_long_name']}]"
|
f"Actual: {codec} [{stream['codec_long_name']}]"
|
||||||
if sample_rate > "48000":
|
if int(stream['sample_rate']) > 48000:
|
||||||
return "Sample rate out of range"
|
return "Sample rate out of range"
|
||||||
|
|
||||||
return ""
|
return ""
|
||||||
|
@ -307,9 +306,6 @@ class VideoFileAnalyzer:
|
||||||
|
|
||||||
raise Exception(f"The audio encoder is not available. Requested: {encoder or 'aac'}")
|
raise Exception(f"The audio encoder is not available. Requested: {encoder or 'aac'}")
|
||||||
|
|
||||||
async def _get_volume_filter(self):
|
|
||||||
return self._conf.volume_filter if self._conf.volume_filter else "-af loudnorm"
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _get_best_container_extension(scan_data, video_encoder):
|
def _get_best_container_extension(scan_data, video_encoder):
|
||||||
# the container is chosen by the video format
|
# the container is chosen by the video format
|
||||||
|
@ -433,9 +429,8 @@ class VideoFileAnalyzer:
|
||||||
if audio_msg or volume_msg:
|
if audio_msg or volume_msg:
|
||||||
audio_encoder = await self._get_audio_encoder(extension)
|
audio_encoder = await self._get_audio_encoder(extension)
|
||||||
transcode_command.append(audio_encoder)
|
transcode_command.append(audio_encoder)
|
||||||
if volume_msg:
|
if volume_msg and self._conf.volume_filter:
|
||||||
volume_filter = await self._get_volume_filter()
|
transcode_command.append(self._conf.volume_filter)
|
||||||
transcode_command.append(volume_filter)
|
|
||||||
if audio_msg == "Sample rate out of range":
|
if audio_msg == "Sample rate out of range":
|
||||||
transcode_command.append(" -ar 48000 ")
|
transcode_command.append(" -ar 48000 ")
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue