ffmpeg mkv 到 mp4 转换器丢失了部分音频,如何在 python 中配置?
ffmpeg mkv to mp4 converter drops part of the audio, how to configure in python?
我正在通过 ffmpeg 和 python 将几个 mkv 文件转换为 mp4。然而,当我去播放它们时,背景音频是完美同步的,但就好像它放弃了所有的声音。有没有办法将所有音频设置为单声道?
或者如何指定通道数?
以下音频和视频设置适用于 vlc:
video settings:
Codec = H-265
bitrate = 800 kb/s
audio settings:
Codec = MP3
bitrate = 128 kb/s
channels = 2
sample rate = 8000Hz
我的python代码:
import os
import ffmpeg
import glob
start_dir = os.chdir("C:/Users/Me/Downloads/")
files = [file for file in glob.glob("*.mkv")]
def convert_to_mp4(mkv_file):
name, ext = os.path.splitext(mkv_file)
out_name = name + ".mp4"
ffmpeg.input(mkv_file).output(out_name).run()
print("Finished converting {}".format(mkv_file))
print(os.getcwd())
for path, folder, files in os.walk(os.getcwd()):
for file in files:
if file.endswith('.mkv'):
print("Found file: %s" % file)
convert_to_mp4(os.path.join(os.getcwd(), file))
else:
pass
我还使用 FFMPEG 将文件从 .mkv 转换为 .mp4,但在音频方面遇到了同样的问题。所以,我转而使用 moviepy 库来转换它而不会丢失音频。
您可以通过在 clip.write_videofile() 的参数中提及视频编解码器和音频编解码器来简单地使用它,如下所述:
import moviepy.editor as movpy
clip = movpy.VideoFileClip("video.mkv") #Reading .mkv file
clip.write_videofile("video.mp4", codec="libx264",audio_codec="aac") #Writing .mp4 file
我正在通过 ffmpeg 和 python 将几个 mkv 文件转换为 mp4。然而,当我去播放它们时,背景音频是完美同步的,但就好像它放弃了所有的声音。有没有办法将所有音频设置为单声道?
或者如何指定通道数?
以下音频和视频设置适用于 vlc:
video settings:
Codec = H-265
bitrate = 800 kb/s
audio settings:
Codec = MP3
bitrate = 128 kb/s
channels = 2
sample rate = 8000Hz
我的python代码:
import os
import ffmpeg
import glob
start_dir = os.chdir("C:/Users/Me/Downloads/")
files = [file for file in glob.glob("*.mkv")]
def convert_to_mp4(mkv_file):
name, ext = os.path.splitext(mkv_file)
out_name = name + ".mp4"
ffmpeg.input(mkv_file).output(out_name).run()
print("Finished converting {}".format(mkv_file))
print(os.getcwd())
for path, folder, files in os.walk(os.getcwd()):
for file in files:
if file.endswith('.mkv'):
print("Found file: %s" % file)
convert_to_mp4(os.path.join(os.getcwd(), file))
else:
pass
我还使用 FFMPEG 将文件从 .mkv 转换为 .mp4,但在音频方面遇到了同样的问题。所以,我转而使用 moviepy 库来转换它而不会丢失音频。
您可以通过在 clip.write_videofile() 的参数中提及视频编解码器和音频编解码器来简单地使用它,如下所述:
import moviepy.editor as movpy
clip = movpy.VideoFileClip("video.mkv") #Reading .mkv file
clip.write_videofile("video.mp4", codec="libx264",audio_codec="aac") #Writing .mp4 file