代码之家  ›  专栏  ›  技术社区  ›  Parsa Saei

将多个输出中的hls属性设置为单独的工件代码

  •  1
  • Parsa Saei  · 技术社区  · 8 年前

    我使用此命令以hls格式创建具有不同质量的多个输出,并映射这些输出的音频。

    ffmpeg -i kata.mp4 -filter_complex [0:v]split=4[s0][s1][s2][s3];
    [s0]scale=hd720[v0];[s1]scale=hd480[v1];[s2]scale=nhd[v2];[s3]scale=cga[v3] 
    -map [v0] -map [v1] -map [v2] -map [v3] -map 0:a -c:v libx264 -c:a aac -f tee 
    -hls_list_size 0 -g 48 "[select=\'v:0,a\':f=hls]out.m3u8| [select=\'v:1,a\':f=hls]out-480.m3u8| [select=\'v:2,a\':f=hls]out-360.m3u8| [select=\'v:3,a\':f=hls]out-200.m3u8"
    

    在我的命令中 -hls_list_size 不工作。 我想我必须使用这个属性作为每个输出的独立代码,但我不知道如何才能做到这一点,或者它的语法代码是什么。
    有人能帮我吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Parsa Saei    8 年前

    以这种方式使用命令是很有用的。

    ffmpeg -i kata.mp4 -filter_complex [0:v]split=4[s0][s1][s2][s3];
    [s0]scale=hd720[v0];[s1]scale=hd480[v1];[s2]scale=nhd[v2];[s3]scale=cga[v3] 
     -map [v0] -map [v1] -map [v2] -map [v3] -map 0:a -c:v libx264 -c:a aac -f tee -g 48 -threads 0 
    "[select='v\:0,a':f=hls:hls_list_size=0]../video/720p/out.m3u8|
    [select='v\:1,a':f=hls:hls_list_size=0]../video/480p/out.m3u8|
    [select='v\:2,a':f=hls:hls_list_size=0]../video/360p/out.m3u8|
    [select='v\:3,a':f=hls:hls_list_size=0]../video/200p/out.m3u8"