Anime4000 / IFME

Powerful x265 GUI Encoder
https://x265.github.io/
GNU General Public License v2.0
239 stars 53 forks source link

not generate temporary files when encoder audio only #233

Open longwu9t opened 3 days ago

longwu9t commented 3 days ago

2024-06-26_215743 When encoding only audio, can it be written directly to the output directory without re-muxing?

longwu9t commented 3 days ago

[INFO] Extracting subtitle file... [INFO] Extracting embeded attachment... [DEBG] Command Line: "C:\proApp\IFME\Plugins\ffmpeg64\ffmpeg" -hide_banner -v error -stats -i "D:\music\a.wav" -f ffmetadata metadata.ini -y [INFO] Encoding audio file... [DEBG] Command Line: "C:\proApp\IFME\Plugins\ffmpeg64\ffmpeg" -hide_banner -v error -i "D:\music\a.wav" -map 0:0 -acodec pcm_s16le -ar 44100 -f wav - | "c:\proApp\encoders\qaac64.exe" - --ignorelength --no-smart-padding --rate keep --no-optimize --threading -V 109 -o "audio0000_und.m4a" qaac 2.82, CoreAudioToolbox 7.10.9.0 audio0000_und.m4a AAC-LC Encoder, TVBR q109, Quality 96 0:05.479 (50.3x)
0:12.236 (55.9x)
0:19.086 (58.2x)
0:26.238 (60.0x)
0:33.134 (60.6x)
0:40.193 (61.3x)
0:46.500 (62.0x)
2050650/-1 samples processed in 0:00.750 Overall bitrate: 278.557kbps [INFO] Multiplexing encoded files into single file... [DEBG] Command Line: "C:\proApp\IFME\Plugins\ffmpeg64\ffmpeg" -strict -2 -hide_banner -v error -stats -i "audio0000_und.m4a" -f ffmetadata -i metadata.ini -map 0:0 -c copy -metadata:g "encoding_tool=IFME 8.2.4 windows amd64" -metadata:s:0 title="Undetermined" -metadata:s:0 language=und -y "Z:\a.m4a" [ OK ] Multiplexing files was successfully! [DEBG] FFmpeg return code 0

Anime4000 commented 2 days ago

When encoding only audio, can it be written directly to the output directory without re-muxing?

What I understand, converting/encoding audio only directly to output (bypass temp folder), right?

longwu9t commented 2 days ago

Directly generate m4a opus ogg mp3 flac ac3... and write them to the output directory. It would be even better if it is possible to write the correct tag, without using ffmpeg to write meta and remux twice. Finally, it would be perfect if the queue can be processed automatically in multiple threads. ^_^

Anime4000 commented 2 days ago

for that I need create another Encoding Pipeline, current Encoding Pipeline is for both. I can try make another pipeline for audio.

possible to write the correct tag, without using ffmpeg to write meta and remux twice.

This might needed for "stdin" encoder like Nero AAC

longwu9t commented 2 days ago

When using AviSynth or mkv or ts ... video as a source, it is not realistic to let the audio encoder write the tag correctly in one go. In this case, it doesn't matter if the correct tag is not written, and the conversion task from audio file to audio file should try to keep the tag information correctly transmitted.

Anime4000 commented 2 days ago

if want to copy audio, perhaps can try "Smart Stream Copy" ?

for simple single audio stream to audio single, I can create another Pipeline, this should be FFmpeg only, no external encoder

longwu9t commented 2 days ago

:) After all, IFME is not just an audio conversion program. Follow your idea.