Closed ParasPidurkar closed 2 years ago
Hi @ParasPidurkar, playback of HEVC will depend on the decoders available on the device that you're using HLS.js on.
What browser and OS are you testing playback on? Could you provide a test stream?
Thanks.
@philcluff Hi I am using a MS edge browser .using the video uri i am able to play the video (https://test-videos.co.uk/vids/bigbuckbunny/mp4/h265/1080/Big_Buck_Bunny_1080_10s_30MB.mp4) on edge but if i segment the same video using above mentioned ffmpeg command and stream it using hls.js the stream is not playing locally on edge browser .I am able to see that the m3u8 file is fetched on stream reception but the video ts segments are not fetched .
Hi @ParasPidurkar, do you have the HEVC extension installed from the Windows app store?
What does this page show for HEVC codecs?
https://privacycheck.sec.lrz.de/active/fp_cpt/fp_can_play_type.html#other_video_codecs
Can you provide the HLS manifest and segment URLs?
Hey @ParasPidurkar, could you try changing your ffmpeg
command to include:
-hls_segment_type fmp4
The command you're running right now will generate HEVC in transport stream segments, which HLS.js does not support.
Thanks.
@philcluff output.zip I have attached my ts files and manifest file .I am using a Linux subsystem and i have not used the HEVC extension. Can you please instruct on what changes needs to be done for creating a manifest file with fmp4.
@philcluff can you please clarify why the browser is able to play the video when provided with video url and not with manifest file . The Edge works with MSE for fragmented mp4 but what changes do i need to do to provide the same support for chromium.I am trying to use the HLS stream on a yocto based OS so in this scenario i have only a chromium based browser so what are the things i need to do to enable HEVC HLS streaming ?
Hi @ParasPidurkar, I added the flags you need to create fmp4 outputs above.
The full command would be:
ffmpeg -i ./Big_BunnyHECV.mp4 -c:a aac -strict experimental -c:v libx265 -s 480x360 -aspect 16:9 -f hls -hls_list_size 1000000 -hls_time 2 -hls_segment_type fmp4 output.m3u8
As general advice outside of HLS.js, HEVC is not a widely supported codec in browsers, outside of Edge on Windows and Safari on MacOS and iOS. In general you'll always need a h.264 fallback file if you want the content to be widely playable. I'm not configuration that'll allow you to play HEVC in a chromium browser on Linux.
You can see browser support for HEVC here: https://caniuse.com/hevc
Thanks.
@philcluff I have already tested with fragmented mp4 format on edge. Thanks for your support on the issueq
@philcluff 1I have already tested with fragmented mp4 format on edge. Thanks for your support on the issueq
No problem, I'll close out this issue - HLS.js is working as expected here.
Thanks!
Hi I have segmented the H265 video using ffmpeg command as follows
ffmpeg -i ./Big_BunnyHECV.mp4 -c:a aac -strict experimental -c:v libx265 -s 480x360 -aspect 16:9 -f hls -hls_list_size 1000000 -hls_time 2 output.m3u8
the stream reception is working for h264 video but for h265 video receiver is able to fetch the m3u8 file but not the data segments of the h265 video .while the same process is running perfectly with h264 video