我可以将这种格式之一转换为兼容的16000.0 采样率 FLAC文件吗?
kAudioFormatLinearPCM = 'lpcm',
kAudioFormatAppleIMA4 = 'ima4',
kAudioFormatMPEG4AAC = 'aac ',
kAudioFormatMACE3 = 'MAC3',
kAudioFormatMACE6 = 'MAC6',
kAudioFormatULaw = 'ulaw',
kAudioFormatALaw = 'alaw',
kAudioFormatMPEGLayer1 = '.mp1',
kAudioFormatMPEGLayer2 = '.mp2',
kAudioFormatMPEGLayer3 = '.mp3',
kAudioFormatAppleLossless = 'alac'
Run Code Online (Sandbox Code Playgroud)
我尝试使用 ffmpeg
ffmpeg -i audio.xxx -acodec flac audio.flac
Run Code Online (Sandbox Code Playgroud)
但结果是
FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
Mac OSX universal build for ffmpegX
configuration: --enable-memalign-hack --enable-mp3lame --enable-gpl --disable-vhook --disable-ffplay --disable-ffserver --enable-a52 --enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads --enable-x264
libavutil version: 49.0.0 …Run Code Online (Sandbox Code Playgroud) 我可以发出这个命令:
ffmpeg -i input.mp3 -acodec alac -ab 128k -ar 48000 -ac 2 -y output.m4a
Run Code Online (Sandbox Code Playgroud)
创建一个 m4a 文件。
但是当我发出这个命令时
ffmpeg -i input.mp3 -acodec alac -ab 128k -ar 48000 -ac 2 -y output.aac
Run Code Online (Sandbox Code Playgroud)
ffmpeg 抛出一个错误说
无法为输出文件 #0 写入标头(编解码器参数不正确?)。
还有,m4a文件的大小真的比原文件大了将近5.8倍,这绝对不是我想要的,也是我想转换成AAC的原因。
我有一部电影 (m4v/h.264/AAC) 可以在我的 Mac 上正常播放,但我最近发现它无法在我的 Apple TV3 上播放。查看此电影文件的属性后,我发现它的配置文件为 High@4.1,但 Apple TV3 仅支持 High@4.0。我认为使此视频不兼容的唯一属性是最大视频比特率,所有其他属性看起来都在 High@4.0 中受支持。
如何使用 ffmpeg 将此视频降级到 High@4.0?
或者我是否必须更改使此视频变为 4.1 而不是 4.0 的实际属性(最大比特率)?我担心如果我只是更改比特率,尽管文件将与 High@4.0 兼容,但它仍会被“标记”为 High@4.1,因此仍然无法在我的 Apple TV3 上播放。
我使用基本相同的格式将音频流转换为 3 种不同的设置。它们最终的尺寸完全相同。为什么是这样?
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 192k "Q1-All-192k.mp4"
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 160k "Q1-All-160k.mp4"
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 128k "Q1-All-128k.mp4"
Run Code Online (Sandbox Code Playgroud) 我希望现在能够多次这样做,所以我问。
如果我有一个现有的视频或音频文件,ffmpeg,mplayer和其他媒体播放器至少可以检测到一些它的“propreties”之类的容器,编解码器和比特率时,可能各项质量和编码特定的设置等。
如何从现有文件中提取这些设置以便(直接)使用它们进行 ffmpeg 编码?
例如,我得到了一个使用一些设置mkv编码的视频x264和另一个未压缩的avi文件。我想“复制”用于 x264 mkv 文件的编码设置,以使用相同的设置对 avi 进行转码。
注意:我正在寻找一种无需人工将设置从解码器“翻译”到编码器的方法。如果我需要先提取设置并将其保存在某处,那没关系,但我希望能够简单地将读取选项提供给命令行或 ffmpeg 的预设|配置文件。
要将 MKV 转换为 AVI,我需要做两件事。我做的第一件事是:
ffmpeg -i filename.mkv -vcodec copy -acodec copy output.avi
Run Code Online (Sandbox Code Playgroud)
或这个:
ffmpeg -i filename.mkv -sameq -acodec copy output.avi
Run Code Online (Sandbox Code Playgroud)
这两种方法都可以将 MKV 转换为 AVI,但问题是视频由于某种原因播放不流畅。不过没关系,因为如果我再做一件事,它就会得到修复:
ffmpeg -i output.avi -vcodec mpeg4 -b 4000k -acodec mp2 -ab 320k converted.avi
Run Code Online (Sandbox Code Playgroud)
在我这样做之后,文件播放没有问题。我以这种方式对一个文件进行了成功,但后来我在另一个文件上尝试了它,视频质量有轻微但明显的损失。这是我在执行第二步时得到的输出:
FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
built on Dec 29 2010 18:02:10 with gcc 4.2.1 (Apple Inc. build 5664)
configuration:
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. …Run Code Online (Sandbox Code Playgroud) 我目前正在使用一个批处理文件(除其他外)运行以下 handbrakecli 命令行来转换视频:
HandBrakeCLI.exe -v0 --input "D:\input.mkv" --preset="Universal" --ipod-atom -t 1 --angle 1 --gain 0 --output="D:\output.mp4"
多年来,这对我很有帮助,生成的视频文件比原始文件小(当您只有 16Gb 设备时很好),看起来足够好,并且几乎可以在我使用的任何 iPod、iPad 和 iPhone 上运行。
然而,随着时间的推移,handbrakecli 正在努力将越来越多的视频转换为我需要寻找替代方案的地步。日志完全没有提供关于它崩溃的原因的信息,这无济于事。例如,这个视频在转换过程中崩溃了 71%,这是最后 4 行:
AC3 Passthru requested and input codec is not compatible for track 2, using AC3 encoder
x264 [info]: using SAR=9593/9600
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile Constrained Baseline, level 3.0
Run Code Online (Sandbox Code Playgroud)
不是很有帮助。
我考虑使用 ffmpeg 作为替代方案,但我在互联网上看到的所有示例都执行以下一项或多项操作:
我想使用 Ubuntu 和最好的标准包,如 ffmpeg 将 .3gp 视频文件向任何方向旋转 90 度。最好是命令行或 Python 脚本。
我怎样才能做到这一点?
可能的重复:
将 AVI 转换为 MP4 保持相同的质量
我想将大量的 wmv、mpg 和 avi 文件(具有不同的音频和视频编码)转换为具有同等质量的 mp4/x264/aac。我已经使用以下命令进行了一些测试:
ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"
Run Code Online (Sandbox Code Playgroud)
(如您所见,我省略了指定音频和视频比特率和质量的选项)
使用此命令,FFmpeg 会自动保留视频尺寸,但我仍然不确定在省略比特率等内容时它如何处理?在将视频转换为不同格式和编解码器的同时保持视频质量的最佳方法是什么?
我使用的是 64 位 Windows 7 和 ffmpeg-20121230-git-518239c-win64-shared
我有一个 AC3 5.1 音频文件,我想在开头插入 x 秒的静音音频。这与视频复用无关,因此它的偏移是无用的,因为它似乎只适用于伴随视频的音频流。我想用 ffmpeg 来实现这一点。有任何想法吗?