tomaszzmuda / Xabe.FFmpeg

.NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from dotnet core application.
https://xabe.net/product/xabe_ffmpeg/
Other
714 stars 128 forks source link

Could not retrieve m3u8 information with GetMediaInfo. #469

Open hoshinohikari opened 12 months ago

hoshinohikari commented 12 months ago

I need help with FFmpeg.GetMediaInfo, which is not working properly for an m3u8 file.

Unhandled exception. System.ArgumentException: Invalid file. Cannot load file "chunklist.m3u8"
   at Xabe.FFmpeg.FFprobeWrapper.SetProperties(MediaInfo mediaInfo, CancellationToken cancellationToken)
   at Xabe.FFmpeg.MediaInfo.Get(String filePath, CancellationToken cancellationToken)
   at Xabe.FFmpeg.MediaInfo.Get(String filePath)
   at Xabe.FFmpeg.FFmpeg.GetMediaInfo(String fileName)
   at Xabe.FFmpeg.Conversion.SaveM3U8StreamAsync(Uri uri, String outputPath, Nullable`1 duration)
   at Xabe.FFmpeg.Snippets.SaveM3U8Stream(Uri uri, String outputPath, Nullable`1 duration)
   at Program.<Main>$(String[] args) in E:\Code\cs\showroom\showroom\Program.cs:line 42
   at Program.<Main>(String[] args)

When I use ffprobe, this is the output I receive.

ffprobe -v panic -print_format json=c=1 -show_streams chunklist.m3u8
{
    "streams": [
        { "index": 0, "codec_name": "timed_id3", "codec_long_name": "timed ID3 metadata", "codec_type": "data", "codec_tag_string": "ID3 ", "codec_tag": "0x20334449", "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 411843240, "start_time": "4576.036000",
            "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 },
            "tags": { "variant_bitrate": "0" } },
        { "index": 1, "codec_name": "h264", "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10", "profile": "Baseline", "codec_type": "video", "codec_tag_string": "[27][0][0][0]", "codec_tag": "0x001b", "width": 640, "height": 360, "coded_width": 640, "coded_height": 360, "closed_captions": 0, "film_grain": 0, "has_b_frames": 0, "pix_fmt": "yuv420p", "level": 30, "refs": 1, "is_avc": "false", "nal_length_size": "0", "r_frame_rate": "24/1", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 411843240, "start_time": "4576.036000", "bits_per_raw_sample": "8", "extradata_size": 22,
            "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 },
            "tags": { "variant_bitrate": "0" } },
        { "index": 2, "codec_name": "aac", "codec_long_name": "AAC (Advanced Audio Coding)", "profile": "LC", "codec_type": "audio", "codec_tag_string": "[15][0][0][0]", "codec_tag": "0x000f", "sample_fmt": "fltp", "sample_rate": "44100", "channels": 1, "channel_layout": "mono", "bits_per_sample": 0, "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 411842053, "start_time": "4576.022811",
            "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 0, "timed_thumbnails": 0, "captions": 0, "descriptions": 0, "metadata": 0, "dependent": 0, "still_image": 0 },
            "tags": { "variant_bitrate": "0" } }
    ]
}