[FFmpeg-devel] [PATCH] lavf: add textdata virtual demuxer and demuxer

Moritz Barsnick barsnick at gmx.net
Mon May 23 15:31:33 CEST 2016

On Thu, May 19, 2016 at 19:29:40 +0200, Stefano Sabatini wrote:
> > > +ffmpeg -i INPUT -codec copy -map 0 -an -vn data.fftd

BTW, is this possibly the first and only muxer which can actually remux
timed_id3? I have been trying to *extract* timed_id3, but haven't
figured out into which format I can dump data streams.

> Something like this should work:
> ffmpeg -i INPUT -codec copy -map 0 -an -vn data.fftd

It turns out that my timed_id3 streams are either empty, or are not
being read. AFAICT, the information I was hoping to find in there was
apparently actually provided by Icy-metadata. (I was expecting either
track information for radio programs or subtitles for video streams in
the timed_id3.)

(I had been dumping HLS's MPEG-TS segments to MPEG-TS files, and they
were showing timed_id3 data streams.)

So, no testing possibly from me, at least until I know for sure what's
in those streams of mine.


P.S.: Does the patch trigger deprecation warnings due to its own
      nature, or due to something earlier in the chain? ffmpeg-cli

barsnick at sunshine:~/Downloads/Radio/NRK/Amund/2015-12-28 > ffmpeg -i nrk-outputfile-NzyUCD.ts -map 0:d -c copy nrk-outputfile-NzyUCD.fftd
ffmpeg version N-80066-g566be4f Copyright (c) 2000-2016 the FFmpeg developers
  built with icc (ICC) 14.0.3 20140422
  configuration: --prefix=/usr/new/tools/video/install/ffmpeg/2016-05-22 --cc=icc --cxx=icpc --enable-gpl --enable-version3 --enable-nonfree --disable-shared --enable-gnutls --enable-libcdio --enable-libfreetype --enable-libx264 --enable-libvpx --enable-libmp3lame --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtwolame --enable-libopenjpeg --enable-librtmp --enable-libass --enable-libv4l2 --enable-libvidstab --enable-libfdk-aac --enable-libsmbclient --enable-libzvbi --enable-libtesseract --enable-libzmq
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 43.100 / 57. 43.100
  libavformat    57. 37.100 / 57. 37.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.100 /  6. 46.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[mpegts @ 0xaf60900] start time for stream 1 is not set in estimate_timings_from_pts
Input #0, mpegts, from 'nrk-outputfile-NzyUCD.ts':
  Duration: 02:56:59.75, start: 10.099667, bitrate: 176 kb/s
  Program 1
    Stream #0:0[0x100]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 175 kb/s
    Stream #0:1[0x101]: Data: timed_id3 (ID3  / 0x20334449)
[fftextdata @ 0xaf687a0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, fftextdata, to 'nrk-outputfile-NzyUCD.fftd':
    encoder         : Lavf57.37.100
    Stream #0:0: Data: timed_id3 (ID3  / 0x20334449)
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

More information about the ffmpeg-devel mailing list