[FFmpeg-user] Problem playing back M4A files created by ffmpeg on embedded Linux devices.
Umba Yumba
umba_yumba at hotmail.com
Wed May 24 07:45:53 EEST 2023
I have Yamaha Receiver and a portable speaker that both accept USB storage as a
source of media. Both of them claim that they can play MPEG-4 AAC.
The following file formats can be used by the units:
File Sampling Bitrate (kbps)
frequency (kHz)
--------------- --------------- --------------
MP3 32/44.1/48 8 to 320
MPEG-4 AAC 32/44.1/48 8 to 320
I created 3 files with the following commands:
ffmpeg -i source.mp4 -y file1.mp3
ffmpeg -i source.mp4 -y file2.m4a
ffmpeg -i source.mp4 -y -c:a copy file3.m4a
file1.mp3 is played with no problem when copied to USB device, however
source.mp4, files2.m4a and files3.m4a do not play at all on my devices with
embedded Linux OS. At the same time there is no problem playing all files using
VLC Player. Yamaha Receiver also can play all M4A files presented by MiniDLNA
server. Any idea what can be done on ffmpeg side to have M4A files played
directly from USB storage by my devices?
Below is info about ffmpeg version and the files.
ffmpeg -version
ffmpeg version N-109859-g052674f3ce Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (GCC)
configuration: --pkg-config-flags=--static --extra-libs='-lpthread -lm' --ld=g++ --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-nonfree
libavutil 58. 1.100 / 58. 1.100
libavcodec 60. 2.100 / 60. 2.100
libavformat 60. 2.100 / 60. 2.100
libavdevice 60. 0.100 / 60. 0.100
libavfilter 9. 1.100 / 9. 1.100
libswscale 7. 0.100 / 7. 0.100
libswresample 4. 9.100 / 4. 9.100
ffprobe -hide_banner -i source.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'source.mp4':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6mp41
creation_time : 2023-04-14T09:59:05.000000Z
Duration: 00:04:29.69, start: 0.000000, bitrate: 129 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 4 kb/s (default)
Metadata:
creation_time : 2023-04-14T09:59:05.000000Z
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
ffprobe -hide_banner -i file1.mp3
Input #0, mp3, from 'file1.mp3':
Metadata:
major_brand : dash
minor_version : 0
compatible_brands: iso6mp41
encoder : Lavf60.2.100
Duration: 00:04:29.74, start: 0.025057, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc60.2.
ffprobe -hide_banner -i file2.m4a
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file2.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: M4A isomiso2
encoder : Lavf60.2.100
Duration: 00:04:29.71, start: 0.000000, bitrate: 131 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
ffprobe -hide_banner -i file3.m4a
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file3.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: M4A isomiso2
encoder : Lavf60.2.100
Duration: 00:04:29.71, start: 0.000000, bitrate: 129 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
More information about the ffmpeg-user
mailing list