video2x
video2x copied to clipboard
Audio stream re-encoded (needlessly?)
Source audio stream:
Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 165 kb/s (default)
Upscaled video audio stream:
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Shouldn't video2x skip re-encoding audio, and just copy existing one(s) --c:a copy
- instead? Why would it touch audio stream at all, when upscaling video? Even if you plan to allow customizing the `ffmpeg`` parameters from command line later on (automatically, rather poor quality settings are choose), it seems sensible that default behavior would be to not touch audio stream at all.
Cheers, /CatLady
Right now there are no extra args passed to FFmpeg to define how the audio streams are handled. This is just FFmpeg's default behavior. There will be options for you to customize the output's parameters in the future.
There has also been a lot of discussions in the Telegram group about this lately. Eventually we came to the consensus that there should be two sets of recommended settings:
- Compatible: H.264 (libx264) + AAC (libfdk_aac) + MP4
- Efficient: AV1 (libsvtav1) + OPUS (libopus) + MKV
As for why not just use -c:a copy
to simply remux the audio stream into the new file, the source audio stream's format may not be supported in the new output container format. I think moving onward, there will be a default setting that uses an efficient codec + decent bitrate to re-encode the stream to make sure it won't break. There will also be an option to -c:a copy
if the user knows that he/she's doing.
Thank, you, this sounds sensible. For now, i am just working around, by - via ffmpeg
, wihout re-encoding - splitting video and audio stream into separate files, upscaling, the merging back. (leaving it here, in case someone search for solution before upgrades are integrated into video2x
).