我的目标是在Plex中直接播放我的所有内容。 为此,我必须有条件地将一些音频和视频流重新编码为一种格式,无需服务器即可进行转码即可播放。
我目前正在使用HanbrakeCLI将视频编码为x264,将音频编码为兼容格式。
我使用" - aencoder copy --audio-fallback ac3"选项,如果是支持的格式,则复制音频流,即aac / ac3 / eac3 / truehd / dts / dtshd / mp3 / flac,或者如果不支持格式则编码为ac3。
我想从HandbrakeCLI切换,因为它不支持复制视频流,有时我的媒体有一个很好的视频流,但音频只需要编码,例如带有VC1视频和WMAPro音频流的WMV。
HandbrakeCLI的命令行如下所示:
// Create the HandbrakeCLI commandline and execute
// https://handbrake.fr/docs/en/latest/cli/cli-guide.html
string commandline = $"--input \"{inputname}\" --output \"{outputname}\" --format av_mkv --encoder x264 " +
$"--encoder-preset medium --quality {Settings.Default.VideoEncodeQuality} --subtitle 1,2,3,4 --audio 1,2,3,4 " +
$"--aencoder copy --audio-fallback ac3";
在ffmpeg中我会使用:
// Create the FFmpeg commandline and execute
// https://trac.ffmpeg.org/wiki/Encode/H.264
string commandline = $"-i \"{inputname}\" -c:v libx264 -crf {Settings.Default.VideoEncodeQuality} -preset medium -c:a copy -f matroska \"{outputname}\"";
是否有相当于HandbrakeCLI" - audio-fallback ac3"在ffmpeg?
即。我想要将视频编码为x264,如果轨道是aac或ac3或eac3或truehd或dts或dtshd或mp3或flac,则复制所有音轨,如果没有,则编码为ac3,同时还复制所有字幕和章节原样。