Opened 11 years ago
Closed 11 years ago
#2955 closed defect (duplicate)
ffprobe will output invalid XML
Reported by: | eelco | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | ffprobe |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
When using XML output for ffprobe, there are cases where ffprobe will output invalid XML.
We have found several cases of files (‘in the wild’) containing metadata causing this problem.
% ffprobe -show_format -print_format xml metadata-with-control-characters.avi > metadata-with-control-characters.xml ffprobe version N-56246-g16837f9 Copyright (c) 2007-2013 the FFmpeg developers built on Sep 12 2013 21:13:18 with llvm-gcc 4.2.1 (LLVM build 2336.11.00) configuration: --extra-cflags='-DMACOSX_DEPLOYMENT_TARGET=10.6 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6' --extra-ldflags='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.6' libavutil 52. 43.100 / 52. 43.100 libavcodec 55. 31.101 / 55. 31.101 libavformat 55. 16.102 / 55. 16.102 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 84.100 / 3. 84.100 libswscale 2. 5.100 / 2. 5.100 libswresample 0. 17.103 / 0. 17.103 Input #0, avi, from 'metadata-with-control-characters.avi': Metadata: artist : 125 comment : ? copyright : 8536 encoder : Lavf55.15.100 Duration: 00:00:01.01, start: 0.000000, bitrate: 9629 kb/s Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 512x384 [SAR 1:1 DAR 4:3], 29.97 tbr, 29.97 tbn, 29.98 tbc Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 136 kb/s
In this case a character that is illegal in XML (0x12, see http://www.w3.org/TR/REC-xml/#charsets for allowed characters) is not scrubbed from the metadata.
(Using an XML library instead of concatenating strings would prevent these kinds of bugs.)
Attachments (3)
Change History (7)
by , 11 years ago
Attachment: | metadata-with-control-characters.avi added |
---|
by , 11 years ago
Attachment: | metadata-with-control-characters.xml added |
---|
by , 11 years ago
Attachment: | invalid-ffprobe-output.avi added |
---|
comment:1 by , 11 years ago
Component: | undetermined → FFprobe |
---|---|
Priority: | normal → important |
Version: | unspecified → git-master |
comment:3 by , 11 years ago
Not that I’m aware of. I don’t think it has ever worked correctly, FFmpeg always seems to dump the metadata ‘as is’, which is not really a problem when using it on the command line, but does become a problem when the encoding is explicitly specified (such as in XML).
comment:4 by , 11 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
I’ve added another example of a file that causes invalid XML output from ffprobe.