Mir wurde klar, dass ich eine alte Version von ffmpeg verwendete.
Ich habe es mit einem neueren getestet und es hat gut funktioniert.
Ist eine verlustfreie Konvertierung von einer WAV-Datei Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels, s32, 1152 kb/s
in eine WAV-Datei möglich?
Ich habe es mit ffmpeg versucht: ffmpeg -y -i KEEP_01.wav -acodec flac output.flac
aber ich bekomme diese Warnung: Conversion will not be lossless. Incompatible sample format 's32' for codec 'flac', auto-selecting format 's16'
Ich habe auch Sox verwendet, aber ich hatte keine Warnung, daher weiß ich nicht, ob die Konvertierung verlustfrei war oder nicht.
Ich verstehe auch nicht wirklich den Unterschied zwischen sample_format und bits_per_sample in meiner Ausgabe von ffprobe:
"streams": [ { "index": 0, "codec_name": "pcm_s24le", "codec_long_name": "PCM signed 24-bit little-endian", "codec_type": "audio", "codec_time_base": "1/48000", "codec_tag_string": "[1][0][0][0]", "codec_tag": "0x0001", "sample_fmt": "s32", "sample_rate": "48000", "channels": 1, "bits_per_sample": 24, "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/48000", "duration": "0.810667", "bit_rate": "1152000" } ]
Mir wurde klar, dass ich eine alte Version von ffmpeg verwendete.
Ich habe es mit einem neueren getestet und es hat gut funktioniert.
Ihr PCM enthält 24-Bit-Samples in einem 32-Bit-Speicher, aber das WAV scheint das nicht korrekt markiert zu haben.
Versuchen Sie diese zwei Schritte:
ffmpeg -i KEEP_01.wav -c copy out.wav ffmpeg -i out.wav output.flac
Der FLAC-Encoder von FFmpeg codiert nur in 16- oder 24-Bit-Abtastformate. Letzteres wird wie Ihre Eingabe als 32-Bit gespeichert.