[FFmpeg-user] Converting .trm files ("ForTheRecord") -- force AAC decoding?

John A Hawkinson jhawk at mit.edu
Tue Jun 26 21:07:51 EEST 2018


I got some courtroom audio files today that are .trm files, which are apparently a semi-proprietary format produced by software called ForTheRecord. Living on a Mac, I would like to play them and convert them without using their proprietary Windows software (doesn't work under Wine) or their free web-based player (but thank goodness it exists).

It comes with an accompanying .trs file, which appears to be a UTF-16 encoded XML file that indicates the file format is AAC-based with 4 channels:

<Property Name="audiobitrate" Value="12000" Type="19"/>
<Property Name="audiochannels" Value="4" Type="18"/>
<Property Name="audioformatdescription" Value="MPEG AAC (4180)" Type="8"/>

How can I tell ffmpeg to attempt to use its AAC decoder? I feel like I'm missing something obvious, but maybe I've successfully told it to do so and the AAC decoder is not happy (maybe it's encrypted?).

Here's complete uncut console output from a naive attempt:

pb3:CR24 jhawk$ ffmpeg -c:a aac $t1  t1.wav
ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 7.0.2 (clang-700.1.81)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-ffplay --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
[NULL @ 0x7faab1800000] Unable to find a suitable output format for 'CR24_20180621-1449_01d4096f0757ee50.trm'
CR24_20180621-1449_01d4096f0757ee50.trm: Invalid argument


That the error is about an output format gives me some hope (perhaps irrationally).

Also, ffprobe reports it seems to understand the channel structure but not the codec id:

pb3:CR24 jhawk$ ffprobe $t1
ffprobe version 4.0 Copyright (c) 2007-2018 the FFmpeg developers
  built with Apple LLVM version 7.0.2 (clang-700.1.81)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-ffplay --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
[avi @ 0x7fcc11009800] Could not find codec parameters for stream 0 (Audio: none ([128]A[0][0] / 0x4180), 24000 Hz, 4 channels, 96 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, avi, from 'CR24_20180621-1449_01d4096f0757ee50.trm':
  Duration: 00:05:00.07, start: 0.000000, bitrate: 100 kb/s
    Stream #0:0: Audio: none ([128]A[0][0] / 0x4180), 24000 Hz, 4 channels, 96 kb/s
Unsupported codec with id 0 for input stream 0
pb3:CR24 jhawk$ 


I apologize for being in a little bit of a rush, so I'm asking for help sooner rather than later, but I hope I've included all pertinent information.

Oh yes, here's the XML metadata:

pb3:CR24 jhawk$ recode utf16..utf8 < $s0  | perl -pe 's/</\n</g' 

<ContentFile ProgID="FTR.TREdge.ContentFile.TRM" Version="5.1">
<PropertyCollection>
<Property Name="audiobitrate" Value="12000" Type="19"/>
<Property Name="audiochannels" Value="4" Type="18"/>
<Property Name="audioformatdescription" Value="MPEG AAC (4180)" Type="8"/>
<Property Name="duration" Value="843604" Type="21"/>
<Property Name="endtime" Value="131740670012959530" Type="21"/>
<Property Name="label" Value="CR24" Type="8"/>
<Property Name="protected" Value="0" Type="3"/>
<Property Name="size" Value="10615330" Type="20"/>
<Property Name="startdate" Value="6/21/2018" Type="7"/>
<Property Name="starttime" Value="131740661569810000" Type="21"/>
<Property Name="type" Value="trm" Type="8"/>
<Property Name="typedescription" Value="FTR Media" Type="8"/>
</PropertyCollection>
<MediaFiles>
<MediaFile Name="CR24_20180621-1449_01d4096f0757ee50.trm">
<Property Name="StartTime" Value="131740661569810000" Type="21"/>
<Property Name="EndTime" Value="131740664570551978" Type="21"/>
<Property Name="FileComplete" Value="-1" Type="11"/>
<Property Name="AudioStreamCount" Value="7033" Type="19"/>
<Property Name="AudioFrameDuration" Value="426666" Type="21"/>
<Property Name="AudioStartSample" Value="0" Type="19"/>
<Property Name="AudioStreamOffset" Value="0" Type="21"/>
<Property Name="AudioFrameSize" Value="32768" Type="19"/>
<Property Name="AudioConstantFrame" Value="0" Type="3"/>
<Property Name="AudioFormatSize" Value="22" Type="19"/>
<Property Name="AudioFormat" Value="80410400c05d0000e02e0000010010000400401f0000" Type="8"/>
<Property Name="SessionStart" Value="-1" Type="11"/>
</MediaFile>
<MediaFile Name="CR24_20180621-1454_01d4096fbaa19b00.trm">
<Property Name="StartTime" Value="131740664577760000" Type="21"/>
<Property Name="EndTime" Value="131740667578928644" Type="21"/>
<Property Name="FileComplete" Value="-1" Type="11"/>
<Property Name="AudioStreamCount" Value="7034" Type="19"/>
<Property Name="AudioFrameDuration" Value="426666" Type="21"/>
<Property Name="AudioStartSample" Value="7033" Type="19"/>
</MediaFile>
<MediaFile Name="CR24_20180621-1459_01d409706d824cb0.trm">
<Property Name="StartTime" Value="131740667578830000" Type="21"/>
<Property Name="EndTime" Value="131740670012959530" Type="21"/>
<Property Name="FileComplete" Value="-1" Type="11"/>
<Property Name="AudioStreamCount" Value="5705" Type="19"/>
<Property Name="AudioFrameDuration" Value="426666" Type="21"/>
<Property Name="AudioStartSample" Value="14067" Type="19"/>
<Property Name="SessionEnd" Value="-1" Type="11"/>
</MediaFile>
</MediaFiles>
<RepositoryDetails>
<RepositoryDirector Path="C:\TheRecord Recordings\"/>
<RepositoryFiles>
<RepositoryFile Name="CR24_20180621-1449_01d4096f0757ee50.trm"/>
<RepositoryFile Name="CR24_20180621-1454_01d4096fbaa19b00.trm"/>
<RepositoryFile Name="CR24_20180621-1459_01d409706d824cb0.trm"/>
</RepositoryFiles>
</RepositoryDetails>
</ContentFile>
pb3:CR24 jhawk$ 


Thank you!

--jhawk at mit.edu
  John Hawkinson


More information about the ffmpeg-user mailing list