[FFmpeg-trac] #3706(ffprobe:new): support header row per section in ffprobe csv writer

FFmpeg trac at avcodec.org
Wed Jun 25 18:39:46 CEST 2014


#3706: support header row per section in ffprobe csv writer
-------------------------------------+-----------------------------------
             Reporter:  dericed      |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  wish         |                Component:  ffprobe
              Version:  git-master   |               Resolution:
             Keywords:  csv          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by cehoyos):

 Replying to [comment:3 dericed]:
 > In this case I think video:pix_fmt would be the closest semantic
 equivalent audio:sample_fmt if it's feasible to make them appear in the
 same column, but this would involve restructuring the output rather than
 just adding headers.

 The order could (in theory) be changed but this wouldn't fix the problem
 or do I miss something?

 > Since the stream values are unique per stream could make one header per
 stream type rather than for all streams. Such as:
 > {{{
 >
 stream:video,index,codec_name,codec_long_name,profile,codec_type,codec_time_base,codec_tag_string,codec_tag,width,height,has_b_frames,sample_aspect_ratio,display_aspect_ratio,pix_fmt,level,timecode,id,r_frame_rate,avg_frame_rate,time_base,start_pts,start_time,duration_ts,duration,bit_rate,max_bit_rate,nb_frames,nb_read_frames,nb_read_packets,DISPOSITION:default,DISPOSITION:dub,DISPOSITION:original,DISPOSITION:comment,DISPOSITION:lyrics,DISPOSITION:karaoke,DISPOSITION:forced,DISPOSITION:hearing_impaired,DISPOSITION:visual_impaired,DISPOSITION:clean_effects,DISPOSITION:attached_pic,TAG:creation_time,TAG:language,TAG:handler_name
 >
 stream:audio,index,codec_name,codec_long_name,profile,codec_type,codec_time_base,codec_tag_string,codec_tag,sample_fmt,sample_rate,channels,channel_layout,bits_per_sample,id,r_frame_rate,avg_frame_rate,time_base,start_pts,start_time,duration_ts,duration,bit_rate,max_bit_rate,nb_frames,nb_read_frames,nb_read_packets,DISPOSITION:default,DISPOSITION:dub,DISPOSITION:original,DISPOSITION:comment,DISPOSITION:lyrics,DISPOSITION:karaoke,DISPOSITION:forced,DISPOSITION:hearing_impaired,DISPOSITION:visual_impaired,DISPOSITION:clean_effects,DISPOSITION:attached_pic,TAG:creation_time,TAG:language,TAG:handler_name
 > }}}

 How would you parse this?
 I mean: Would this really help with any application reading csv?

 > If the csv header for stream stay as one line, then the 14 column header
 could be something like:
 > {{{
 > video:width|audio:sample_fmt
 > }}}

 This would work at least for some cases.

 > though the column position for each metadata value would change based on
 the metadata of the stream, right?

 It is possible to show only frames without metadata.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/3706#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list