修复amix降低声音的问题,修复reencode_to_annexb不添加音轨的问题
This commit is contained in:
parent
dcf5f5630d
commit
cf43e6d549
@ -253,7 +253,7 @@ class FfmpegTask(object):
|
||||
input_args.append("-i")
|
||||
input_args.append(audio.replace("\\", "/"))
|
||||
audio_track_index += 1
|
||||
filter_args.append(f"{audio_output_str}[{input_index}:a]amix[a]")
|
||||
filter_args.append(f"{audio_output_str}[{input_index}:a]amix=duration=shortest:dropout_transition=0:normalize=0[a]")
|
||||
audio_output_str = "[a]"
|
||||
if audio_output_str:
|
||||
output_args.append("-map")
|
||||
@ -295,7 +295,7 @@ class FfmpegTask(object):
|
||||
input_args.append("-i")
|
||||
input_args.append(audio.replace("\\", "/"))
|
||||
audio_track_index += 1
|
||||
filter_args.append(f"{audio_output_str}[{input_index}:a]amix[a]")
|
||||
filter_args.append(f"{audio_output_str}[{input_index}:a]amix=duration=shortest:dropout_transition=0:normalize=0[a]")
|
||||
audio_output_str = "[a]"
|
||||
if audio_output_str:
|
||||
output_args.append("-map")
|
||||
|
@ -5,7 +5,7 @@ import subprocess
|
||||
from datetime import datetime
|
||||
from typing import Optional, IO
|
||||
|
||||
from entity.ffmpeg import FfmpegTask, ENCODER_ARGS, VIDEO_ARGS, AUDIO_ARGS
|
||||
from entity.ffmpeg import FfmpegTask, ENCODER_ARGS, VIDEO_ARGS, AUDIO_ARGS, MUTE_AUDIO_INPUT
|
||||
from telemetry import get_tracer
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -17,9 +17,9 @@ def to_annexb(file):
|
||||
return file
|
||||
logger.info("ToAnnexb: %s", file)
|
||||
ffmpeg_process = subprocess.run(["ffmpeg", "-y", "-hide_banner", "-i", file,
|
||||
"-f", "lavfi", "-i", "anullsrc=cl=stereo:r=48000",
|
||||
*MUTE_AUDIO_INPUT,
|
||||
"-map", "0:v", "-map", "1:a",
|
||||
"-c:v", "copy", "-bsf:v", "h264_mp4toannexb",
|
||||
"-c:v", "copy", "-bsf:v", "h264_mp4toannexb", "-shortest",
|
||||
"-c:a", "aac", "-b:a", "128k", "-ar", "48000", "-ac", "2",
|
||||
"-f", "mpegts", file+".ts"])
|
||||
span.set_attribute("ffmpeg.args", json.dumps(ffmpeg_process.args))
|
||||
@ -38,8 +38,13 @@ def re_encode_and_annexb(file):
|
||||
if not os.path.exists(file):
|
||||
return file
|
||||
logger.info("ReEncodeAndAnnexb: %s", file)
|
||||
ffmpeg_process = subprocess.run(["ffmpeg", "-y", "-hide_banner", "-i", file, *VIDEO_ARGS, *AUDIO_ARGS, *ENCODER_ARGS, "-bsf:v", "h264_mp4toannexb",
|
||||
"-f", "mpegts", file +".ts"])
|
||||
ffmpeg_process = subprocess.run(["ffmpeg", "-y", "-hide_banner", "-i", file,
|
||||
*MUTE_AUDIO_INPUT,
|
||||
"-map", "0:v", "-map", "1:a",
|
||||
*VIDEO_ARGS, "-bsf:v", "h264_mp4toannexb",
|
||||
*AUDIO_ARGS, "-bsf:a", "setts=pts=DTS",
|
||||
*ENCODER_ARGS, "-shortest",
|
||||
"-f", "mpegts", file + ".ts"])
|
||||
span.set_attribute("ffmpeg.args", json.dumps(ffmpeg_process.args))
|
||||
logger.info("ReEncodeAndAnnexb: %s, returned: %s", file, ffmpeg_process.returncode)
|
||||
span.set_attribute("ffmpeg.code", ffmpeg_process.returncode)
|
||||
|
Loading…
x
Reference in New Issue
Block a user