Help with extracting audio from MP4

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Help with extracting audio from MP4

peter-2
Hi,

I have seen many examples using ffmpeg to extract the audio from a video. But
these examples are mostly from other sites (ie.e not the ffmpeg site), and 3
to 5 years old.  I can't seem to find the documentation from the ffmpeg
website, on how to use ffmpeg to extract audio from a video file.

Here is the video file ..

----------------
$ ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4
ffmpeg version 2.8.10-0ubuntu0.16.04.1 Copyright (c) 2000-2016 the FFmpeg
developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-
ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/
include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --
disable-stripping --disable-decoder=libopenjpeg --disable-
decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls
--enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-
libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-
libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-
libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-
libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-
libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-
libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-
libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi
--enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-
libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-
libopencv
  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
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'16187821_363927127308754_4400528164682465280_n.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.40.101
  Duration: 00:11:16.65, start: 0.000000, bitrate: 576 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
360x642, 500 kb/s, 29.61 fps, 29.67 tbr, 90k tbn, 59.33 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono,
fltp, 66 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified
--------------------------

If I simply supply an output filename, it results in the codec of MPEG Audio
Layer 1/2(mpga), sample rate: 48000 Hz and bitrate: 64 kb/s

If I use an example and the code is ..

ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4  -b:a 192K -vn
filename.mp3

.. the file is about 3 times the size and the bitrate is 192 kb/s

Now to my questions:

1. Do I need to change the frame rate or bit rate ?
2. How do I ensure the audio quality is as good as the audio in the video ?
3. Can the audio quality be improved ?

Regards,

Peter

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

Carl Eugen Hoyos-2
2017-01-19 5:40 GMT+01:00 Peter <[hidden email]>:
> If I simply supply an output filename, it results in the codec of
> MPEG Audio Layer 1

That's impossible, no layer 1 encoder exists for FFmpeg.

Maybe you are searching for something like the following?
$ ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4
-acodec copy out.aac

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

peter-2
On Thursday, 19 January 2017 6:15:01 AM AEDT Carl Eugen Hoyos wrote:
> 2017-01-19 5:40 GMT+01:00 Peter <[hidden email]>:
> > If I simply supply an output filename, it results in the codec of
> > MPEG Audio Layer 1
>
> That's impossible, no layer 1 encoder exists for FFmpeg.

The line must have benn cutoff in your viewer, .. the line was ..

If I simply supply an output filename, it results in the codec of MPEG Audio
Layer 1/2(mpga), sample rate: 48000 Hz and bitrate: 64 kb/s

> Maybe you are searching for something like the following?
> $ ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4
> -acodec copy out.aac

Thanks, I tried that.  The sound is okay. For mp3 output, I used an example ..

ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4 -codec:a
libmp3lame -qscale:a 2 output.mp3

Not sure if I'm using the correct parametrs though. We require the output to
be an mp3 file.

Peter

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

Moritz Barsnick
On Thu, Jan 19, 2017 at 17:18:55 +1100, Peter wrote:
> > Maybe you are searching for something like the following?
> > $ ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4
> > -acodec copy out.aac
>
> Thanks, I tried that. The sound is okay.

No, the sound is not "okay", it should be *exactly* as the original.
ffmpeg can't help you make it any "better" than this (unless you want
to apply filters to change the original).

> For mp3 output, I used an example ..
>
> ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4 -codec:a
> libmp3lame -qscale:a 2 output.mp3
>
> Not sure if I'm using the correct parametrs though. We require the output to
> be an mp3 file.

Basically yes. When trancoding, you will always be trading off file
size versus quality, you can't have the best of both. And whether the
quality setting you choose is sufficient depends heavily on your
requirements, your ears, and your input material. "-q:a 2" is "usually"
sufficient though, while ffmpeg's default of 128 kbit/s constant bit
rate may be too low for most needs.

Moritz
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

peter-2
In reply to this post by peter-2
Here are the video specifications ..

======
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'16187821_363927127308754_4400528164682465280_n.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.40.101
  Duration: 00:11:16.65, start: 0.000000, bitrate: 576 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
360x642, 500 kb/s, 29.61 fps, 29.67 tbr, 90k tbn, 59.33 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono,
fltp, 66 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
=============

Can someone please provide the ffmpeg code/parameters to extract the audio
from this MP4 ?

Peter

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

terje
I would have tried:

video out (alone):

ffmpeg -i infile.mp4 -an -vcodec copy video.mp4

audio out (alone):

ffmpeg -i dv_infile.mp4 -vn -acodec copy audio.aac


Terje H.
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

peter-2
On Thursday, 19 January 2017 5:07:32 PM AEDT terje wrote:
> I would have tried:
>
> video out (alone):
>
> ffmpeg -i infile.mp4 -an -vcodec copy video.mp4
>
> audio out (alone):
>
> ffmpeg -i dv_infile.mp4 -vn -acodec copy audio.aac

Thanks Terje. How do I modify this one ..

ffmpeg -i dv_infile.mp4 -vn -acodec copy audio.aac

so that the output is mp3 please ?

Peter

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

terje
My typo, "dv_infile.mp4" above should just be "infile.mp4"

I used this code once:

ffmpeg -i infile.mp4 -q:a 1 -map a audio.mp3

"-q:a 1" resulted in 210-220 kbs
"-q:a 2" some lower  bitrate


Terje H.
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

peter-2
On Thursday, 19 January 2017 5:39:57 PM AEDT terje wrote:
> I used this code once:
>
> ffmpeg -i infile.mp4 -q:a 1 -map a audio.mp3
>
> "-q:a 1" resulted in 210-220 kbs
> "-q:a 2" some lower  bitrate

Thanks, I used ..

ffmpeg -i 16187821_363927127308754_4400528164682465280_n.mp4 -q:a 1 -map a
audio.mp3

and the output is 64 kb/s . This is the audio specs within the mp4:

Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 66
kb/s (default)

Playing the audio now, it is very clear and good.  :)

Thanks for your help,

Peter


_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Help with extracting audio from MP4

Carl Eugen Hoyos-2
In reply to this post by peter-2
2017-01-19 7:18 GMT+01:00 Peter <[hidden email]>:
> On Thursday, 19 January 2017 6:15:01 AM AEDT Carl Eugen Hoyos wrote:
>> 2017-01-19 5:40 GMT+01:00 Peter <[hidden email]>:
>> > If I simply supply an output filename, it results in the codec of
>> > MPEG Audio Layer 1
>>
>> That's impossible, no layer 1 encoder exists for FFmpeg.
>
> The line must have benn cutoff in your viewer, .. the line was ..

(No.)

> If I simply supply an output filename, it results in the codec of MPEG
> Audio Layer 1/2(mpga), sample rate: 48000 Hz and bitrate: 64 kb/s

Just to clarify: FFmpeg is not able to encode to MPEG Layer 1 audio.

Carl Eugen
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".