Verlustfreie Konvertierung von WAV 24 Bit nach FLAC

Verlustfreie Konvertierung von WAV 24 Bit nach FLAC

Ist eine verlustfreie Konvertierung einer WAV-Datei Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels, s32, 1152 kb/sin eine WAV-Datei möglich?

Ich habe versucht, ffmpeg zu verwenden, ffmpeg -y -i KEEP_01.wav -acodec flac output.flac aber ich erhalte 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, also weiß ich nicht, ob die Konvertierung verlustfrei war oder nicht.

Außerdem verstehe ich den Unterschied zwischen sample_format und bits_per_sample in meiner ffprobe-Ausgabe nicht wirklich:

"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" } ]

Antwort1

Mir ist aufgefallen, dass ich eine alte Version von ffmpeg verwende.

Ich habe es mit einer neueren Version getestet und es hat gut funktioniert.

Antwort2

Ihr PCM besteht aus 24-Bit-Samples in einem 32-Bit-Speicher, aber das WAV scheint dies nicht richtig gekennzeichnet zu haben.

Versuchen Sie diese beiden 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-Sampleformate. Letzteres wird wie Ihre Eingabe als 32-Bit gespeichert.

verwandte Informationen