ffmpeg - FFMPEG [mp3float @ 0x7fd42f813200] 缺少标头
问题描述
我对一些 mp3 文件有疑问。使用 FFMPEG 对文件进行转码时,出现以下错误:
[mp3float @ 0x7fd42f813200] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
这是文件本身的问题吗?它是如何产生的?还是FFMPEG的问题?
这里完整的解码消息:
ffmpeg version git-2020-07-28-dfd12ee Copyright (c) 2000-2020 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.16)
configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-dfd12ee_2 --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-libfdk-aac --enable-nonfree
libavutil 56. 57.100 / 56. 57.100
libavcodec 58. 97.102 / 58. 97.102
libavformat 58. 49.100 / 58. 49.100
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
[mp3 @ 0x7fd42f808200] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'Ice Mc - Think About The Way.mp3':
Metadata:
title : Think About The Way
TBPM : 133
artist : Ice MC
date : 1994
track : 4/15
disc : 0
album_artist : ICE MC
Duration: 00:04:16.39, start: 0.000000, bitrate: 323 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 320 kb/s
Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 600x592 [SAR 72:72 DAR 75:74], 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
comment : Other
Stream mapping:
Stream #0:1 -> #0:0 (mjpeg (native) -> wrapped_avframe (native))
Stream #0:0 -> #0:1 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
Metadata:
title : Think About The Way
TBPM : 133
artist : Ice MC
date : 1994
track : 4/15
disc : 0
album_artist : ICE MC
encoder : Lavf58.49.100
Stream #0:0: Video: wrapped_avframe, yuvj420p(progressive), 600x592 [SAR 72:72 DAR 75:74], q=2-31, 200 kb/s, 90k fps, 90k tbn, 90k tbc (attached pic)
Metadata:
comment : Other
encoder : Lavc58.97.102 wrapped_avframe
Stream #0:1: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Metadata:
encoder : Lavc58.97.102 pcm_s16le
[mp3float @ 0x7fd42f813200] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
frame= 1 fps=0.0 q=-0.0 Lsize=N/A time=00:04:16.60 bitrate=N/A speed= 725x
video:1kB audio:44204kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
还值得注意的是,此 mp3 将封面嵌入为视频流。还有这个奇怪的交叉映射。不知道这是否正常?
解决方案
你确定你只使用你需要的流吗?如果不是,您可以通过打印所有数据包的流数来检查它,由av_read_frame
. 要选择特定流,您应该丢弃其他流。检查此线程以了解如何:如何更改 libavformat 中的流索引
推荐阅读
- python-2.7 - NP where 和 if 语句条件
- javascript - 为什么 CSS 选择器 'table tr:not(tr:nth-child(even))' 会抛出 TypeError?
- java - java - 如何在java中编写一个程序来打印给定公式的总和?
- php - PHP - 附加的 html 字符串被切断
- php - 如何将 XML 转换为关联数组并控制将哪些属性用作名称值对?
- c# - 将geojson作为对象索引到geoshape中适用于Nest 5.0.1,但不适用于Nest 6.4.2?
- docker - 无法从 Apache-Superset 容器(tar 文件)映像启动容器(无法连接到 localhost 端口)
- c# - 为什么图形不显示?
- node.js - nodeJS议程在特定日期开始工作
- php - 如何在管理后台的产品上添加两个新的额外选项卡