gpt4 book ai didi

FFmpeg 将 TS-AAC 音频传输流文件重新包装到 M4A-AAC : what happens by default (no "-codec copy" etc. )?

转载 作者:行者123 更新时间:2023-12-04 23:01:14 30 4
gpt4 key购买 nike

如果你只做 ffmpeg -i aFile.ts aFile.m4a 会发生什么?而不是 ffmpeg -i aFile.ts -codec copy aFile.m4a ,当 TS 文件只包含一个流,即 AAC,并且知道 m4a 文件通常也包含 AAC 时。
ffmpeg - 即使没有任何过滤器等 - 是否解码原始 AAC 并重新编码回 AAC(使用 ffmpeg 假定的任何默认参数 - 不一定与原始参数匹配)?还是它做其他事情?
我在使用和不使用“-codec copy”的情况下都尝试了这个,每种情况下的结果都是 AAC,但文件的大小有很大不同(原始 TS:8.5 MB,ffmpeg'd without "-codec copy"7 MB,ffmpeg'd后 5.1 MB。
https://ffmpeg.org/ffmpeg.html说明(在“3.2 Stream copy”下...

Stream copy is a mode selected by supplying the copy parameter to the-codec option. It makes ffmpeg omit the decoding and encoding step for the specified stream, so it does only demuxing and muxing. It isuseful for changing the container format or modifying container-levelmetadata.Implied by the inverse of that situation is that, in the absence of "-codec copy", ffmpeg will carry out the decoding and encoding steps.

最佳答案

Does ffmpeg - even in the absence of any filters etc. - decode the original AAC and re-encode back to AAC (with whatever default parameters ffmpeg assumes for that - not necessarily matching those of the original)?


这是对的。您可以通过以下方式查找默认设置
ffmpeg -h muxer=mp4
这会打印出很多信息,主要是复用器特定的输出选项,但在顶部它说:
Muxer mp4 [MP4 (MPEG-4 Part 14)]:
Common extensions: mp4.
Mime type: video/mp4.
Default video codec: h264.
Default audio codec: aac.
所以, .m4a输出文件默认使用 aac音频编码器。
然后,您可以尝试在 aac 上获取详细信息编码器由
ffmpeg -h encoder=aac
这返回
    General capabilities: delay small
Threading capabilities: none
Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 7350
Supported sample formats: fltp
AAC encoder AVOptions:
-aac_coder <int> E...A...... Coding algorithm (from 0 to 2) (default twoloop)
anmr 0 E...A...... ANMR method
twoloop 1 E...A...... Two loop searching method
fast 2 E...A...... Default fast search
-aac_ms <boolean> E...A...... Force M/S stereo coding (default auto)
-aac_is <boolean> E...A...... Intensity stereo coding (default true)
-aac_pns <boolean> E...A...... Perceptual noise substitution (default true)
-aac_tns <boolean> E...A...... Temporal noise shaping (default true)
-aac_ltp <boolean> E...A...... Long term prediction (default false)
-aac_pred <boolean> E...A...... AAC-Main prediction (default false)
-aac_pce <boolean> E...A...... Forces the use of PCEs (default false)
因此,内置 AAC 编码器使用默认的 -b:a/ -q:a设置其默认比特率/质量的选项,如果不深入研究源代码,我们都不知道哪些默认值。
最后但也许是最重要的,有一个 FFmpeg wiki entry on AAC encoding如果你还没有看到它。

关于FFmpeg 将 TS-AAC 音频传输流文件重新包装到 M4A-AAC : what happens by default (no "-codec copy" etc. )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71965464/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com