ffmpeg-go icon indicating copy to clipboard operation
ffmpeg-go copied to clipboard

Help for filter_complex

Open templarfelix opened this issue 1 month ago • 0 comments

Hello team,

What is the best approach for converting the next command to lib

I try

Some code, but anyone works fine.

            ffmpeg -hide_banner -loglevel error -y -i {{.INPUT_FILE}} \
            -filter_complex "[0:v]split=5[v240][v360][v480][v720][v1080]; \
                            [v240]scale=iw*min(426/iw\,240/ih):ih*min(426/iw\,240/ih),pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p[v240out]; \
                            [v360]scale=iw*min(640/iw\,360/ih):ih*min(640/iw\,360/ih),pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p[v360out]; \
                            [v480]scale=iw*min(854/iw\,480/ih):ih*min(854/iw\,480/ih),pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p[v480out]; \
                            [v720]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p[v720out]; \
                            [v1080]scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih),pad=ceil(iw/2)*2:ceil(ih/2)*2,format=yuv420p[v1080out]" \
            -map "[v360out]" -map 0:a:0 -b:v 800k -preset medium \
            -map "[v240out]" -map 0:a:0 -b:v 400k -preset medium \
            -map "[v480out]" -map 0:a:0 -b:v 1400k -preset medium \
            -map "[v720out]" -map 0:a:0 -b:v 2800k -preset medium \
            -map "[v1080out]" -map 0:a:0 -b:v 5000k -preset medium \
            -c:v {{.ENCODE_VIDEO_STREAM}} -crf 22 -c:a aac -ar 48000 -var_stream_map "v:0,a:0,name:360p v:1,a:1,name:240p v:2,a:2,name:480p v:3,a:3,name:720p v:4,a:4,name:1080p" \
            -hls_list_size 0 -threads 0 -f hls \
            -hls_time 10 -hls_flags independent_segments \
            -master_pl_name {{.VIDEO_ID}}-master.m3u8 \
            /tmp/output/{{.VIDEO_ID}}-%v.m3u8

templarfelix avatar May 21 '24 20:05 templarfelix