mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-23 09:14:45 +03:00
Added an ffprobe helper class
This commit is contained in:
parent
3e86104641
commit
803ce0968e
76
MediaBrowser.Controller/FFMpeg/FFProbeResult.cs
Normal file
76
MediaBrowser.Controller/FFMpeg/FFProbeResult.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace MediaBrowser.Controller.FFMpeg
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides a class that we can use to deserialize the ffprobe json output
|
||||
/// Sample output:
|
||||
/// http://stackoverflow.com/questions/7708373/get-ffmpeg-information-in-friendly-way
|
||||
/// </summary>
|
||||
public class FFProbeResult
|
||||
{
|
||||
public IEnumerable<MediaStream> streams { get; set; }
|
||||
public MediaFormat format { get; set; }
|
||||
}
|
||||
|
||||
public class MediaStream
|
||||
{
|
||||
public int index { get; set; }
|
||||
public string profile { get; set; }
|
||||
public string codec_name { get; set; }
|
||||
public string codec_long_name { get; set; }
|
||||
public string codec_type { get; set; }
|
||||
public string codec_time_base { get; set; }
|
||||
public string codec_tag { get; set; }
|
||||
public string codec_tag_string { get; set; }
|
||||
public string sample_fmt { get; set; }
|
||||
public string sample_rate { get; set; }
|
||||
public int channels { get; set; }
|
||||
public int bits_per_sample { get; set; }
|
||||
public string r_frame_rate { get; set; }
|
||||
public string avg_frame_rate { get; set; }
|
||||
public string time_base { get; set; }
|
||||
public string start_time { get; set; }
|
||||
public string duration { get; set; }
|
||||
public string bit_rate { get; set; }
|
||||
|
||||
public int width { get; set; }
|
||||
public int height { get; set; }
|
||||
public int has_b_frames { get; set; }
|
||||
public string sample_aspect_ratio { get; set; }
|
||||
public string display_aspect_ratio { get; set; }
|
||||
public string pix_fmt { get; set; }
|
||||
public int level { get; set; }
|
||||
public MediaTags tags { get; set; }
|
||||
}
|
||||
|
||||
public class MediaFormat
|
||||
{
|
||||
public string filename { get; set; }
|
||||
public int nb_streams { get; set; }
|
||||
public string format_name { get; set; }
|
||||
public string format_long_name { get; set; }
|
||||
public string start_time { get; set; }
|
||||
public string duration { get; set; }
|
||||
public string size { get; set; }
|
||||
public string bit_rate { get; set; }
|
||||
public MediaTags tags { get; set; }
|
||||
}
|
||||
|
||||
public class MediaTags
|
||||
{
|
||||
public string title { get; set; }
|
||||
public string comment { get; set; }
|
||||
public string artist { get; set; }
|
||||
public string album { get; set; }
|
||||
public string album_artist { get; set; }
|
||||
public string composer { get; set; }
|
||||
public string copyright { get; set; }
|
||||
public string publisher { get; set; }
|
||||
public string track { get; set; }
|
||||
public string disc { get; set; }
|
||||
public string genre { get; set; }
|
||||
public string date { get; set; }
|
||||
public string language { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user