Opened 5 years ago

Closed 5 years ago

#7904 closed defect (invalid)

Can not convert webm to wav

Reported by: tesla90 Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hi,

I am using ffmpeg on Windows 10 64 bit.

Ffmpeg version is:

ffmpeg version N-93863-g58d167bcd5 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.3.1 (GCC) 20190414

Below command:

./ffmpeg.exe -i /c/Users/username/Desktop/test_quality/webm.webm -vn -acodec copy /c/Users/username/Desktop/test_quality/wav-copy.wav

gives this error output:

ffmpeg version N-93863-g58d167bcd5 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.3.1 (GCC) 20190414
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 27.100 / 56. 27.100
  libavcodec     58. 52.101 / 58. 52.101
  libavformat    58. 27.103 / 58. 27.103
  libavdevice    58.  7.100 / 58.  7.100
  libavfilter     7. 53.100 /  7. 53.100
  libswscale      5.  4.101 /  5.  4.101
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, matroska,webm, from 'C:/Users/username/Desktop/test_quality/webm.webm':
  Metadata:
    encoder         : google/video-file
  Duration: 01:13:42.22, start: -0.007000, bitrate: 134 kb/s
    Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
File 'C:/Users/username/Desktop/test_quality/wav-copy.wav' already exists. Overwrite ? [y/N] y
[wav @ 000001b3c810ae40] opus codec not supported in WAVE format
Could not write header for output file #0 (incorrect codec parameters ?): Function not implemented
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
    Last message repeated 1 times

It gives "opus codec not supported in WAVE format". But this one works:

./ffmpeg.exe -i /c/Users/username/Desktop/test_quality/webm.webm /c/Users/username/Desktop/test_quality/wav-copy.wav

But I want to use "-acodec copy" because I want to lose quality from the audio. this media is very very important for me.

My questions here:
1- What should I try to solve "opus codec not supported in WAVE format" problem?
2- If I will use below command, will I lose from quality?

./ffmpeg.exe -i /c/Users/username/Desktop/test_quality/webm.webm /c/Users/username/Desktop/test_quality/wav-copy.wav

Thanks in advance

Change History (2)

comment:1 by tesla90, 5 years ago

I am fixing my wrong sentence:

But I want to use "-acodec copy" because I DO NOT want to lose quality from the audio. this media is very very important for me.

comment:2 by mkver, 5 years ago

Resolution: invalid
Status: newclosed

The wav container can't store opus audio, hence this error message. If you want to use wav, then you should use raw PCM data. If you absolutely do not want to loose quality, then you should simply keep the file as-is. If you do not want to loose quality and want to decode the data, then you can use

./ffmpeg.exe -i /c/Users/username/Desktop/test_quality/webm.webm -c:a pcm_f32le /c/Users/username/Desktop/test_quality/wav-copy.wav

But the resulting file will be very large, larger than with your command line.

Note: See TracTickets for help on using tickets.