ffmpeg ресэмплирует для громких щелчков / шума

605
Sjoerd Staal

Я использую ffmpeg для повторной выборки файла DSD во Flac & mp3. У меня нет проблем с повторным сэмплом mp3, но с повторным сэмплом flac всегда есть громкий щелчок в конце трека, как видно на этом изображении:

Wave form as displayed in Audacity

Я использую базовую команду в командной строке:

ffmpeg -i input.dsf -ar 192000 -acodec flac output.flac 

Выход:

ffmpeg version 2.8.5 Copyright (c) 2000-2016 the FFmpeg developers built with Apple LLVM version 7.0.2 (clang-700.1.81) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.5 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [mjpeg @ 0x7fe617809000] Changeing bps to 8 [dsf @ 0x7fe617000000] Estimating duration from bitrate, this may be inaccurate Input #0, dsf, from 'input.dsf': Metadata: title : Bach Brandenburg no. 6 - Allegro artist : Florilegium album : Brandenburg Concertos track : 3 Tool Version : 18.0.212 genre : Classical composer : Bach Catalog # : 35914 Format : DSD ISRC : NLA460912792 Label : Channel Classics Tool Name : Media Center date : 2014 Duration: 00:06:00.31, bitrate: 5644 kb/s Stream #0:0: Audio: dsd_lsbf_planar, 352800 Hz, stereo, fltp, 5644 kb/s Stream #0:1: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1429x1417 [SAR 300:300 DAR 1429:1417], 90k tbr, 90k tbn, 90k tbc Metadata: title : Picture comment : Cover (front) [flac @ 0x7fe617122000] encoding as 24 bits-per-sample Output #0, flac, to 'output.flac': Metadata: title : Bach Brandenburg no. 6 - Allegro artist : Florilegium album : Brandenburg Concertos TRACKNUMBER : 3 Tool Version : 18.0.212 genre : Classical composer : Bach Catalog # : 35914 Format : DSD ISRC : NLA460912792 Label : Channel Classics Tool Name : Media Center date : 2014 encoder : Lavf56.40.101 Stream #0:0: Audio: flac, 192000 Hz, stereo, s32 (24 bit), 128 kb/s Metadata: encoder : Lavc56.60.100 flac Stream mapping: Stream #0:0 -> #0:0 (dsd_lsbf_planar (native) -> flac (native)) Press [q] to stop, [?] for help size= 306541kB time=00:05:58.10 bitrate=7012.3kbits/s  video:0kB audio:306532kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002733% 
1
Пожалуйста, предоставьте полный, неразрезанный вывод командной строки. slhck 6 лет назад 0
Привет @slhck, только что добавил вывод. заранее спасибо Sjoerd Staal 6 лет назад 0
Пожалуйста, попробуйте еще раз с более свежей версией, например, обновив свою сборку Homebrew или используя статическую сборку с http://ffmpeg.org/download.html - ваша уже немного устарела. slhck 6 лет назад 0
Привет @slhck, к сожалению, я также испытываю клики с последней (разработанной) версией (версия ffmpeg N-85769-gc53bf8c) `ffmpeg версия N-85769-gc53bf8c Copyright (c) 2000-2017 разработчики FFmpeg, созданные с gcc 4.8. 3 (GCC) 20140911 (Red Hat 4.8.3-9) конфигурация: --enable-gpl --enable-version3 --enable-libmp3lame --enable-nonfree --disable-static --enable-shared` Sjoerd Staal 6 лет назад 0
То же самое происходит без пересчета? Paul B. Mahol 6 лет назад 0
Jip, также когда я кодирую в .wav, я думаю, что это как-то связано с библиотекой DSD? Sjoerd Staal 6 лет назад 0
Провел еще какое-то исследование, щелчок появляется, когда DSD равен «** dsd_lsbf_planar **», а не когда «** dsd_msbf **» Sjoerd Staal 6 лет назад 0

1 ответ на вопрос

0
ex_impression

Попробуйте перейти -ar 192000на -ar 176400.

Я тоже сталкивался с этим, когда играю dsfс ffmpegмоим iPhone. Когда я установил свою частоту дискретизации на выходе (aka: частота повторной выборки) на 48000, я получил шум щелчка в конце звука, но когда я изменил частоту дискретизации на выходе на 44100, все в порядке. Я думаю, что это потому, что повторная dsdвыборка, потому что частота дискретизации измеряется 44100, например, dsd6464 * 44100.

Просто мысль, еще не доказанная!