github.com/0chain/gosdk@v1.17.11/zboxcore/sdk/live_upload_reader_ffmpeg_linux.go (about)

     1  package sdk
     2  
     3  import (
     4  	"strconv"
     5  	"strings"
     6  )
     7  
     8  // buildFfmpegArgs build ffmpeg arguments for linux
     9  func buildFfmpegArgs(fileName string, delay int) []string {
    10  	if strings.HasSuffix(fileName, ".m3u8") {
    11  		return []string{
    12  			//	"-thread_queue_size", "50",
    13  			"-f", "v4l2",
    14  			"-i", "/dev/video0",
    15  			"-f", "alsa",
    16  			"-i", "hw:0",
    17  			"-preset", "ultrafast",
    18  			"-tune", "zerolatency",
    19  			"-vcodec", "libx264",
    20  			"-r", "30",
    21  			"-b:v", "512k",
    22  			"-acodec", "aac",
    23  			"-strict", "-2",
    24  			"-ac", "2",
    25  			"-flags", "+cgop",
    26  			"-g", "30",
    27  			"-hls_time", strconv.Itoa(delay),
    28  
    29  			fileName, //*.m3u8
    30  		}
    31  	}
    32  
    33  	return []string{
    34  		//"-thread_queue_size", "10",
    35  		"-f", "v4l2",
    36  		"-i", "/dev/video0",
    37  		"-f", "alsa",
    38  		"-i", "hw:0",
    39  		"-preset", "ultrafast",
    40  		"-tune", "zerolatency",
    41  		"-vcodec", "libx264",
    42  		"-r", "30",
    43  		"-b:v", "512k",
    44  		"-acodec", "aac",
    45  		"-strict", "-2",
    46  		"-ac", "2",
    47  		"-map", "0",
    48  		"-map", "1",
    49  		"-f", "segment",
    50  		"-segment_time", strconv.Itoa(delay),
    51  
    52  		fileName,
    53  	}
    54  }