简体   繁体   English

在Mac上从mp3文件目录获取带有元数据的音频HLS?

[英]Audio HLS with metadata on Mac from directory of mp3 files?

I'm trying to create HLS output (m3u8 file + many .ts files) from a list of mp3 files where the mp3 id3 metadata is preserved in the HLS output. 我正在尝试从mp3文件列表创建HLS输出(m3u8文件+许多.ts文件),其中mp3 id3元数据保留在HLS输出中。

I've been trying ffmpeg like this: 我一直在尝试ffmpeg这样的:

ffmpeg -f concat -i list.txt -hls_init_time 2 -hls_time 2 out.m3u8 ffmpeg -f concat -i list.txt -hls_init_time 2 -hls_time 2 out.m3u8

where list.txt contains: 其中list.txt包含:

file 01.mp3
file 02.mp3
file 03.mp3
file 04.mp3
file 05.mp3
file 06.mp3
file 07.mp3
file 08.mp3
file 09.mp3
file 10.mp3

The result is a single out.m3u8 file and a single very large out0.ts file. 结果是一个单独的out.m3u8文件和一个非常大的out0.ts文件。 I was expecting about 1500 ts files and an m3u8 file that contains the last 5 ts files. 我期望大约1500 ts文件和一个包含最后5 ts文件的m3u8文件。

I'm completely new to ffmpeg and honestly I don't want to learn it in depth right now. 我是ffmpeg的新手,老实说,我现在不想深入学习它。

Does anyone know how to do this either with ffmpeg or otherwise? 有谁知道如何用ffmpeg或其他方式做到这一点?

ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
  libavutil      55. 34.100 / 55. 34.100
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.100 / 57. 56.100
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Input #0, concat, from 'list.txt':
  Duration: N/A, start: -0.025056, bitrate: 238 kb/s
    Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 238 kb/s
    Metadata:
      encoder         : LAME3.99r
    Stream #0:1: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 700x700 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      title           : cover
      comment         : Cover (front)
[hls @ 0x7fc50f01aa00] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
No pixel format specified, yuvj444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x7fc50f00dc00] using SAR=1/1
[libx264 @ 0x7fc50f00dc00] MB rate (174240000) > level limit (2073600)
[libx264 @ 0x7fc50f00dc00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fc50f00dc00] profile High 4:4:4 Predictive, level 5.2, 4:4:4 8-bit
Output #0, hls, to 'out.m3u8':
  Metadata:
    encoder         : Lavf57.56.100
    Stream #0:0: Video: h264 (libx264), yuvj444p(pc), 700x700 [SAR 72:72 DAR 1:1], q=-1--1, 90k fps, 90k tbn, 90k tbc
    Metadata:
      title           : cover
      comment         : Cover (front)
      encoder         : Lavc57.64.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc57.64.101 aac
Stream mapping:
  Stream #0:1 -> #0:0 (mjpeg (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (mp3 (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 2256 fps=389 q=33.0 size=N/A time=00:00:00.02 bitrate=N/A dup=2255 drop=0 speed=0.00422x    
frame= 2256 fps=358 q=33.0 size=N/A time=00:00:08.98 bitrate=N/A dup=2255 drop=0 speed=1.43x    
frame= 2256 fps=332 q=33.0 size=N/A time=00:00:26.75 bitrate=N/A dup=2255 drop=0 speed=3.94x    
frame= 2256 fps=309 q=33.0 size=N/A time=00:00:49.64 bitrate=N/A dup=2255 drop=0 speed=6.81x    
frame= 2256 fps=289 q=33.0 size=N/A time=00:01:14.39 bitrate=N/A dup=2255 drop=0 speed=9.54x    
frame= 2256 fps=272 q=33.0 size=N/A time=00:01:38.77 bitrate=N/A dup=2255 drop=0 speed=11.9x    
frame= 2257 fps=257 q=33.0 size=N/A time=00:01:58.98 bitrate=N/A dup=2255 drop=0 speed=13.5x    
frame= 2257 fps=243 q=33.0 size=N/A time=00:02:19.02 bitrate=N/A dup=2255 drop=0 speed=  15x    
frame= 2257 fps=230 q=33.0 size=N/A time=00:02:38.64 bitrate=N/A dup=2255 drop=0 speed=16.2x    
frame= 2257 fps=219 q=33.0 size=N/A time=00:03:00.61 bitrate=N/A dup=2255 drop=0 speed=17.5x    
frame= 2257 fps=209 q=33.0 size=N/A time=00:03:20.81 bitrate=N/A dup=2255 drop=0 speed=18.6x    
frame= 2257 fps=200 q=33.0 size=N/A time=00:03:44.28 bitrate=N/A dup=2255 drop=0 speed=19.9x    
frame= 2257 fps=191 q=33.0 size=N/A time=00:04:06.90 bitrate=N/A dup=2255 drop=0 speed=20.9x    
frame= 2257 fps=184 q=33.0 size=N/A time=00:04:30.33 bitrate=N/A dup=2255 drop=0 speed=  22x    
frame= 2257 fps=176 q=33.0 size=N/A time=00:04:53.57 bitrate=N/A dup=2255 drop=0 speed=22.9x    
frame= 2258 fps=170 q=33.0 size=N/A time=00:05:07.95 bitrate=N/A dup=2255 drop=0 speed=23.2x    
frame= 2258 fps=164 q=33.0 size=N/A time=00:05:20.44 bitrate=N/A dup=2255 drop=0 speed=23.2x    
frame= 2258 fps=158 q=33.0 size=N/A time=00:05:33.79 bitrate=N/A dup=2255 drop=0 speed=23.3x    
frame= 2258 fps=153 q=33.0 size=N/A time=00:05:46.77 bitrate=N/A dup=2255 drop=0 speed=23.4x    
frame= 2258 fps=148 q=33.0 size=N/A time=00:05:59.87 bitrate=N/A dup=2255 drop=0 speed=23.5x    
frame= 2258 fps=143 q=33.0 size=N/A time=00:06:14.54 bitrate=N/A dup=2255 drop=0 speed=23.7x    
frame= 2258 fps=138 q=33.0 size=N/A time=00:06:28.27 bitrate=N/A dup=2255 drop=0 speed=23.8x    
frame= 2258 fps=134 q=33.0 size=N/A time=00:06:42.92 bitrate=N/A dup=2255 drop=0 speed=  24x    
frame= 2258 fps=130 q=33.0 size=N/A time=00:06:56.57 bitrate=N/A dup=2255 drop=0 speed=24.1x    
frame= 2258 fps=127 q=33.0 size=N/A time=00:07:10.16 bitrate=N/A dup=2255 drop=0 speed=24.2x    
frame= 2258 fps=123 q=33.0 size=N/A time=00:07:25.04 bitrate=N/A dup=2255 drop=0 speed=24.3x    
frame= 2258 fps=120 q=33.0 size=N/A time=00:07:39.41 bitrate=N/A dup=2255 drop=0 speed=24.4x    
frame= 2258 fps=117 q=33.0 size=N/A time=00:07:55.57 bitrate=N/A dup=2255 drop=0 speed=24.6x    
frame= 2258 fps=114 q=33.0 size=N/A time=00:08:12.64 bitrate=N/A dup=2255 drop=0 speed=24.9x    
frame= 2258 fps=111 q=33.0 size=N/A time=00:08:30.24 bitrate=N/A dup=2255 drop=0 speed=25.1x    
frame= 2259 fps=109 q=33.0 size=N/A time=00:08:46.00 bitrate=N/A dup=2255 drop=0 speed=25.3x    
frame= 2259 fps=106 q=33.0 size=N/A time=00:09:03.14 bitrate=N/A dup=2255 drop=0 speed=25.5x    
[aac @ 0x7fc50f00f400] Queue input is backward in time
[hls @ 0x7fc50f01aa00] Non-monotonous DTS in output stream 0:1; previous: 49402501, current: 36948720; changing to 49402502. This may result in incorrect timestamps in the output file.

... about 25000 lines of this...

frame= 2261 fps= 65 q=33.0 size=N/A time=00:09:08.93 bitrate=N/A dup=2255 drop=0 speed=15.8x    
[hls @ 0x7fc50f01aa00] Non-monotonous DTS in output stream 0:1; previous: 49402502, current: 36950810; changing to 49402503. This may result in incorrect timestamps in the output file.
[hls @ 0x7fc50f01aa00] Non-monotonous DTS in output stream 0:1; previous: 49408463, current: 49408084; changing to 49408464. This may result in incorrect timestamps in the output file.
frame= 2261 fps= 59 q=33.0 size=N/A time=00:09:13.11 bitrate=N/A dup=2255 drop=0 speed=14.4x    
frame= 2261 fps= 58 q=33.0 size=N/A time=00:09:30.15 bitrate=N/A dup=2255 drop=0 speed=14.7x    
frame= 2262 fps= 57 q=33.0 size=N/A time=00:09:50.68 bitrate=N/A dup=2255 drop=0 speed=  15x    
frame= 2262 fps= 57 q=33.0 size=N/A time=00:10:04.10 bitrate=N/A dup=2255 drop=0 speed=15.2x    
frame= 2262 fps= 56 q=33.0 size=N/A time=00:10:20.52 bitrate=N/A dup=2255 drop=0 speed=15.4x    
frame= 2262 fps= 55 q=33.0 size=N/A time=00:10:36.66 bitrate=N/A dup=2255 drop=0 speed=15.6x    
frame= 2262 fps= 55 q=33.0 size=N/A time=00:10:52.31 bitrate=N/A dup=2255 drop=0 speed=15.8x    
frame= 2262 fps= 54 q=33.0 size=N/A time=00:11:09.35 bitrate=N/A dup=2255 drop=0 speed=  16x    
frame= 2262 fps= 53 q=33.0 size=N/A time=00:11:26.37 bitrate=N/A dup=2255 drop=0 speed=16.2x    
frame= 2262 fps= 53 q=33.0 size=N/A time=00:11:43.44 bitrate=N/A dup=2255 drop=0 speed=16.4x    
frame= 2262 fps= 52 q=33.0 size=N/A time=00:11:59.93 bitrate=N/A dup=2255 drop=0 speed=16.6x    
frame= 2262 fps= 52 q=33.0 size=N/A time=00:12:15.48 bitrate=N/A dup=2255 drop=0 speed=16.8x    
frame= 2262 fps= 51 q=33.0 size=N/A time=00:12:28.44 bitrate=N/A dup=2255 drop=0 speed=16.9x    
frame= 2262 fps= 50 q=33.0 size=N/A time=00:12:43.93 bitrate=N/A dup=2255 drop=0 speed=  17x    
frame= 2262 fps= 50 q=33.0 size=N/A time=00:12:59.30 bitrate=N/A dup=2255 drop=0 speed=17.2x    
frame= 2263 fps= 49 q=33.0 size=N/A time=00:13:15.93 bitrate=N/A dup=2255 drop=0 speed=17.4x    
frame= 2263 fps= 49 q=33.0 size=N/A time=00:13:41.70 bitrate=N/A dup=2255 drop=0 speed=17.7x    
frame= 2263 fps= 48 q=33.0 size=N/A time=00:14:02.65 bitrate=N/A dup=2255 drop=0 speed=  18x    
frame= 2263 fps= 48 q=33.0 size=N/A time=00:14:25.57 bitrate=N/A dup=2255 drop=0 speed=18.3x    
frame= 2263 fps= 47 q=33.0 size=N/A time=00:14:49.34 bitrate=N/A dup=2255 drop=0 speed=18.6x    
frame= 2263 fps= 47 q=33.0 size=N/A time=00:15:11.17 bitrate=N/A dup=2255 drop=0 speed=18.8x    
frame= 2263 fps= 46 q=33.0 size=N/A time=00:15:31.60 bitrate=N/A dup=2255 drop=0 speed=19.1x    
frame= 2263 fps= 46 q=33.0 size=N/A time=00:15:47.25 bitrate=N/A dup=2255 drop=0 speed=19.2x    
frame= 2263 fps= 45 q=33.0 size=N/A time=00:16:03.30 bitrate=N/A dup=2255 drop=0 speed=19.3x    
frame= 2263 fps= 45 q=33.0 size=N/A time=00:16:22.99 bitrate=N/A dup=2255 drop=0 speed=19.5x    
frame= 2263 fps= 45 q=33.0 size=N/A time=00:16:45.12 bitrate=N/A dup=2255 drop=0 speed=19.8x    
frame= 2264 fps= 44 q=33.0 size=N/A time=00:17:05.99 bitrate=N/A dup=2255 drop=0 speed=  20x    
frame= 2264 fps= 44 q=33.0 size=N/A time=00:17:25.03 bitrate=N/A dup=2255 drop=0 speed=20.2x    
frame= 2264 fps= 43 q=33.0 size=N/A time=00:17:43.12 bitrate=N/A dup=2255 drop=0 speed=20.3x    
frame= 2264 fps= 43 q=33.0 size=N/A time=00:18:01.35 bitrate=N/A dup=2255 drop=0 speed=20.5x    
frame= 2264 fps= 42 q=33.0 size=N/A time=00:18:17.79 bitrate=N/A dup=2255 drop=0 speed=20.6x    
frame= 2264 fps= 42 q=33.0 size=N/A time=00:18:35.15 bitrate=N/A dup=2255 drop=0 speed=20.7x    
frame= 2264 fps= 42 q=33.0 size=N/A time=00:18:55.82 bitrate=N/A dup=2255 drop=0 speed=20.9x    
frame= 2264 fps= 41 q=33.0 size=N/A time=00:19:17.46 bitrate=N/A dup=2255 drop=0 speed=21.1x    
frame= 2264 fps= 41 q=33.0 size=N/A time=00:19:28.37 bitrate=N/A dup=2255 drop=0 speed=21.1x    
frame= 2264 fps= 41 q=33.0 size=N/A time=00:19:42.21 bitrate=N/A dup=2255 drop=0 speed=21.2x    
frame= 2264 fps= 40 q=33.0 size=N/A time=00:20:03.11 bitrate=N/A dup=2255 drop=0 speed=21.3x    
frame= 2264 fps= 40 q=33.0 size=N/A time=00:20:20.36 bitrate=N/A dup=2255 drop=0 speed=21.5x    
frame= 2264 fps= 39 q=33.0 size=N/A time=00:20:38.57 bitrate=N/A dup=2255 drop=0 speed=21.6x    
frame= 2265 fps= 39 q=33.0 size=N/A time=00:20:55.79 bitrate=N/A dup=2255 drop=0 speed=21.7x    
frame= 2265 fps= 39 q=33.0 size=N/A time=00:21:13.81 bitrate=N/A dup=2255 drop=0 speed=21.8x    
frame= 2265 fps= 38 q=33.0 size=N/A time=00:21:28.48 bitrate=N/A dup=2255 drop=0 speed=21.9x    
frame= 2265 fps= 38 q=33.0 size=N/A time=00:21:41.53 bitrate=N/A dup=2255 drop=0 speed=21.9x    
frame= 2265 fps= 38 q=33.0 size=N/A time=00:21:54.44 bitrate=N/A dup=2255 drop=0 speed=  22x    
frame= 2265 fps= 38 q=33.0 size=N/A time=00:22:09.35 bitrate=N/A dup=2255 drop=0 speed=  22x    
frame= 2265 fps= 37 q=33.0 size=N/A time=00:22:23.84 bitrate=N/A dup=2255 drop=0 speed=22.1x    
frame= 2265 fps= 37 q=33.0 size=N/A time=00:22:40.98 bitrate=N/A dup=2255 drop=0 speed=22.2x    
frame= 2265 fps= 37 q=33.0 size=N/A time=00:22:59.99 bitrate=N/A dup=2255 drop=0 speed=22.3x    
frame= 2265 fps= 36 q=33.0 size=N/A time=00:23:21.29 bitrate=N/A dup=2255 drop=0 speed=22.5x    
frame= 2265 fps= 36 q=33.0 size=N/A time=00:23:37.96 bitrate=N/A dup=2255 drop=0 speed=22.6x    
frame= 2265 fps= 36 q=33.0 size=N/A time=00:23:53.49 bitrate=N/A dup=2255 drop=0 speed=22.6x    
frame= 2265 fps= 35 q=33.0 size=N/A time=00:24:10.42 bitrate=N/A dup=2255 drop=0 speed=22.7x    
frame= 2265 fps= 35 q=33.0 size=N/A time=00:24:29.64 bitrate=N/A dup=2255 drop=0 speed=22.8x    
frame= 2265 fps= 35 q=33.0 size=N/A time=00:24:52.61 bitrate=N/A dup=2255 drop=0 speed=  23x    
frame= 2265 fps= 35 q=-1.0 Lsize=N/A time=00:25:02.45 bitrate=N/A dup=2255 drop=0 speed=  23x    
video:1482kB audio:33826kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x7fc50f00dc00] frame I:10    Avg QP:21.37  size:145718
[libx264 @ 0x7fc50f00dc00] frame P:571   Avg QP:21.23  size:    31
[libx264 @ 0x7fc50f00dc00] frame B:1684  Avg QP:30.33  size:    25
[libx264 @ 0x7fc50f00dc00] consecutive B-frames:  0.8%  0.1%  0.0% 99.1%
[libx264 @ 0x7fc50f00dc00] mb I  I16..4:  0.0% 98.3%  1.7%
[libx264 @ 0x7fc50f00dc00] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip:100.0%
[libx264 @ 0x7fc50f00dc00] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.0%  skip:100.0%  L0: 0.0% L1:100.0% BI: 0.0%
[libx264 @ 0x7fc50f00dc00] 8x8 transform intra:98.3% inter:100.0%
[libx264 @ 0x7fc50f00dc00] coded y,u,v intra: 100.0% 70.2% 62.8% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x7fc50f00dc00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  7% 18% 39%  5%  4%  4%  6%  6% 10%
[libx264 @ 0x7fc50f00dc00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 12% 15%  9%  8% 10%  9%  9% 11%
[libx264 @ 0x7fc50f00dc00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fc50f00dc00] ref P L0: 11.6% 79.1%  9.3%
[libx264 @ 0x7fc50f00dc00] ref B L1: 50.0% 50.0%
[libx264 @ 0x7fc50f00dc00] kb/s:482409.22
[aac @ 0x7fc50f00f400] Qavg: 491.256

Your MP3s may have cover art embedded. 您的MP3可能嵌入了封面。 If so, those are detected as a video stream and used as the reference stream for splitting. 如果是这样,则将其检测为视频流并用作分割的参考流。 Since it's only one frame, there's no additional segments to create. 由于只有一帧,因此无需创建其他段。

So discard the cover art: 因此,放弃封面:

ffmpeg -f concat -i list.txt -vn -hls_init_time 2 -hls_time 2 out.m3u8

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM