HLS Stream

Questions and answers on how to get the most out of FFAStrans
vijm1972
Posts: 128
Joined: Fri Apr 24, 2015 7:35 am

HLS Stream

Post by vijm1972 »

Hello Steipal,

Wanted to create segmented HLS stream with m3u8 and ts files but not able to get proper command, can you please help?
Our requirement is to create file with three different bit rates and resolution (360x240_300Kbps, 640x480_600Kbps and 800x600_1Mbps), not sure this can be done through FFMPEG.
Need your suggestion.

Thanks
Vijay
admin
Site Admin
Posts: 1687
Joined: Sat Feb 08, 2014 10:39 pm

Re: HLS Stream

Post by admin »

I have not tried creating HLS with ffmpeg but a quick google search indicate that this is possible. What have you tried with ffmpeg so far?

-steipal
vijm1972
Posts: 128
Joined: Fri Apr 24, 2015 7:35 am

Re: HLS Stream

Post by vijm1972 »

I had tried below commands.

-c:v libx264 -b:v 128k -flags -global_header -map 0 -f segment -segment_time 10 -segment_list test.m3u8 -segment_format mpegts

If I used above command with extension .ts, file get transcoded with .ts output without segmented. I am getting only one file in TS format. If I used m3u8 extension, FFAStrans showing error. Not sure about how to add three different bit rate and resolution.


-c:v libx264 -crf 18 -profile:v baseline -maxrate 1000k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1

I had also tried above command. I am confused about how to use the proper command.

Vijay
admin
Site Admin
Posts: 1687
Joined: Sat Feb 08, 2014 10:39 pm

Re: HLS Stream

Post by admin »

Usually, when a custom command fail in FFAStrans, it's because ffmpeg fail and 99 times out of 100 it's because the user has supplied invalid ffmpeg options that FFAStrans can not fix. I have tried your command and and it seem your initial issue is with ffmpeg, not FFAStrans. Now, I don't have the time or resources to google around to find the correct ffmpeg-options for you, so I need you to supply a working example of what you want to acomplish using only ffmpeg.exe in command prompt. Once you have that working, I will surely assist you in getting it to work in FFAStrans. Using the "Custom FFmpeg"-encoder in FFAStrans presupposes good knowledge of using ffmpeg. So your mantra should always be to test your ffmpeg options with ffmpeg.exe in command prompt before adopting it to FFAStrans.

You can find ffmpeg.exe in your "FFAStrans\Processors\FFmpeg" folder.

-steipal
vijm1972
Posts: 128
Joined: Fri Apr 24, 2015 7:35 am

Re: HLS Stream

Post by vijm1972 »

Hi Steipal,

I am able to create HLS stream using below command.

-c:v libx264 -s 320x240 -b:v 300k -maxrate 300k -bufsize 400k -pix_fmt yuv420p -refs 1 -profile:v baseline -level 3 -g 36 -sc_threshold 0 -flags -global_header -movflags +faststart -c:a aac -strict experimental -ar 48000 -b:a 64000 -ac 2 -map 0 -f segment -segment_time 10 -segment_list "C:\Test\CA Test\HLS\Outbox\300Kbps\300.m3u8" -segment_format mpegts "C:\Test\CA Test\HLS\Outbox\300Kbps\300_%05d.ts"

I have created three adaptive bitrates using three different workflows as per below. I am getting three m3u8 files along with .ts files in three particular folder.



Now I am facing one more issue, as per the HLS package requirement I need to create main m3u8 file which can play three adaptive bitrate as per the net speed. Do you suggest on this.
Attachments
HLS.jpg
HLS.jpg (45 KiB) Viewed 16338 times
admin
Site Admin
Posts: 1687
Joined: Sat Feb 08, 2014 10:39 pm

Re: HLS Stream

Post by admin »

Ok, now I think see where you're trying to accomplish. HLS is not something I'm very familiar with but googling around it seems you want to create a m3u8 text file that looks something like this example? (Might that be a correct assumption?)

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=921600,RESOLUTION=1280x720
900.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=614400,RESOLUTION=640x360
600.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=307200,RESOLUTION=320x240
300.m3u8

-steipal
vijm1972
Posts: 128
Joined: Fri Apr 24, 2015 7:35 am

Re: HLS Stream

Post by vijm1972 »

Yes correct.
vijm1972
Posts: 128
Joined: Fri Apr 24, 2015 7:35 am

Re: HLS Stream

Post by vijm1972 »

One more problem is when I put extension .ts, I am getting one more file with .ts extension as per source duration. This file actually not require. If I haven't put anything in the extension I am getting file with .avi extension.
admin
Site Admin
Posts: 1687
Joined: Sat Feb 08, 2014 10:39 pm

Re: HLS Stream

Post by admin »

Well, I have one bad and one good news for you.

The bad: You cannot create this file using just the built in features of the current version.

The good: The upcoming version 0.7.0 features a text-file generator. With this you can generate a text file with the content you require.

The "Custom FFmpeg"-encoder is hardcoded to output a destination file with the same name as the original. But this not what you want so the next version will omit this if no extension is entered in the extension field. This will solve the problem with the extra avi-file creation.

-steipal
vijm1972
Posts: 128
Joined: Fri Apr 24, 2015 7:35 am

Re: HLS Stream

Post by vijm1972 »

Hi Steipal,

I have downloaded the version 0.7.0, really appreciate your hardwork
Please suggest how can I create m3u8 text file as you mentioned.

Thanks
Vijay
Post Reply