我正在从 Youtube 下载一些音乐,似乎在大多数情况下(流行视频),最佳质量的音频是 opus 文件。
我知道 (1) Opus 是最新且更高效的编解码器,并且 (2) 不建议从一种有损编解码器转换为另一种。
但是,由于我想在 Windows/iOs/car 中使用相同的文件,即使用相同的容器,我想转换为 AAC 或 MP3。
我在这里读到,您可以通过为目标编解码器使用更高的比特率来在一定程度上减轻生成损失。
那么您建议使用哪些设置(例如 ffmpeg)将 opus 文件转换为 AAC 以保持相同的音频质量(我知道这是主观的...)?
根据youtube-dl -F数据是 160kbs,但下载时,MediaInfo 给出了 127Kbps 的整体比特率和 48Khz 的采样率。
192kbs 是 AAC 文件的好选择吗?(我认为 AAC 在任何情况下都比 MP3 更好?)我知道从 CD 或无损中,最推荐使用 VBR,但是对于 Opus 的转码,CBR 会更好吗?我应该保留 opus 文件中的 48khz 采样率,还是下采样到通常的 AAC 的 44.1khz?
最后,youtube-dl 还可以下载 128 kbs 的 AAC 文件。鉴于 opus 更高效/更好,在相同比特率下质量会更高。但是将作品转码为 AAC(例如 192kbs/212kbs)会保持这种质量差异,还是转码(甚至到更高的比特率)会导致伪影,因此 192kbs AAC 文件的音频质量实际上会比 AAC 128kbs 差文件 ?
让我解释一下为什么我在“概念上”难以理解如何确定转码的优化设置。
在大多数情况下,您从无损文件(例如 …
我正在尝试重新编码 WinUAE 中使用“TechSmith Screen Capture Codec”制作的视频,以使用 H.264 视频和 AAC 音频,以及最新的“ffmpeg”(20200510-fc99a24) 64 位,但是当我使用使用 ffmpeg 进行以下操作,似乎编码正常,但导致视频文件无法在任何内容上播放:
"C:\Program Files\ffmpeg\bin\ffmpeg.exe" -i output.avi -vcodec libx264 -preset slow -crf 20 -acodec mp3 -b:a 160k done.mkv
Run Code Online (Sandbox Code Playgroud)
我知道音频是 MP3,但我不知道如何在 ffmpeg 中使用 AAC。
出了什么问题?
如果不在 aac 编码器中设置音频比特率会怎样?
-ab 128k
Run Code Online (Sandbox Code Playgroud)
它是否会自动选择它所能达到的最高比特率,或者我很好奇我是否应该这样做,或者如果这样做会很糟糕,我看不出有什么区别。
最近我使用 ffmpeg 进行了重新编码,在此过程中遇到了听不见但波形可见的音频不同步。
Mediainfo 显示相对于视频有6 毫秒的音频延迟:
Audio
ID : 2
Format : E-AC-3
Format/Info : Enhanced Audio Coding 3
Format settings, Endianness : Big
Codec ID : A_EAC3
Duration : 1 h 0 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 187.500 FPS (256 SPF)
Compression mode : Lossy
Delay relative to …Run Code Online (Sandbox Code Playgroud) 我有一个带有 AVC 视频轨道和 MP3(非 AAC)音频轨道的 MP4 文件。
Video: MPEG4 Video (H264) 1920x1080 [Video]
Audio: MPEG Audio 44100Hz stereo 192kbps [Audio]
Run Code Online (Sandbox Code Playgroud)
虽然某些视频播放器能够按预期播放带有音频的视频,但 Adobe Premiere Pro CS5.5 无法识别它,因为它希望 MP4 文件具有 AAC 编码的音轨(按照标准)。
现在我正在使用一种解决方法,我使用 MKV Toolnix 从 MP4 文件中提取音轨(使用中间 MKA 文件)然后我只是手动将音频文件同步到 Premiere 中的 MP4 文件(因为它显示了 MP4文件为静音)。
有没有办法将 MP3 曲目转换为 AAC 并将其保存在 MP4 文件中?如果这是不可能的,是否有命令行工具可以将带有 AAC 音轨的 MP4 重新编码为另一个文件?我在这里运行 Windows。
该位率有效格式(见问题最投票的答案和他们的意见项下),将是一个保证在一个相对较低的比特率良好的音频质量。
在某些情况下,可能需要 mp3 格式的文件。
似乎将有损音频(例如aac)转换为具有“效率较低”比特率的其他有损格式,例如mp3,会强制对输出文件使用更高的比特率,以补偿其比特率“低效”。
我知道 aac 是最“高效”的——但其他人呢?
此逻辑可应用于其他有损格式。我想知道哪些有损格式可以被认为比其他格式更高(或更低)效率 - 在这个意义上 - 。
wav例如,使用文件,您可以轻松区分位深度
24 位
Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 44100 Hz, stereo,
s32, 2116 kb/s
Run Code Online (Sandbox Code Playgroud)
16 位
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo,
s16, 1411 kb/s
Run Code Online (Sandbox Code Playgroud)
然而AAC似乎高深莫测
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
fltp, 151 kb/s
Run Code Online (Sandbox Code Playgroud) ffmpeg.exe -i s.mp3 -f aac -
Run Code Online (Sandbox Code Playgroud)
这是我运行的命令,但它无法识别 AAC 格式。
Requested output format 'aac' is not a suitable output format pipe::
Invalid argument
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时:
ffmpeg.exe -i s.mp3 -f ogg -
Run Code Online (Sandbox Code Playgroud)
这有效。
此外,输出到这样的文件有效:
ffmpeg.exe -i s.mp3 o.aac
Run Code Online (Sandbox Code Playgroud)
任何想法我做错了什么?
我想在 .m4a 文件上使用程序,但该程序无法处理 .m4a。但是,它可以处理 .aac,并且文件的编解码器是 MPEG-4 AAC。有没有办法在不重新编码的情况下转换为 .aac (最好转换回来)?
(替代解决方案:有人有无损分割 .m4a 文件的好程序吗?mp3DirectCut 很糟糕,但不能处理 .m4a。)