ffmpeg使用h264_nvenc和tee muxer产生“ is_avc” = false

时间:2018-08-14 15:03:49

标签: ffmpeg centos nvidia nvenc

我正在使用ffmpeg将MKV(Matroska视频文件)编码为2x MP4(H264-720p Main @ L4)和(H264-360p Baseline@L3.1)。

使用-c:v h264_nvenctee muxer时确实有一个非常奇怪的问题,那么即使我已经与另一台运行Intel QuickSync {{ 1}},使用相同的命令,则生成的输出文件为is_avc=false

我想要-c:v h264_qsv的主要目标是因为必须使用is_avc=true播放文件,这需要流式传输AVC视频格式。

重现该问题的步骤:

  • 具有NVENC支持is_avc=true的自定义ffmpeg构建
  • ffprobe nginx-vod-module
  • 使用NVENC和tee muxer
    ffmpeg version N-91182-gbdf1bbd Copyright (c) 2000-2018 the FFmpeg developers   built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
    运行ffmpeg命令行
  • 运行ffprobe输出文件以检查“ is_avc”:
    version 4.0.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2018 the FFmpeg developers
  • 我当前的ffprobe输出结果是:

    /root/ffmpeg  -y -t 00:00:50 -i "testinput.mkv" -filter_complex "[0:v]split=2[s0][s1];[s0]scale=-2:720[v0];[s1]scale=-2:360[v1]" -map "[v0]" -map "[v1]" -map 0:a -c:v h264_nvenc -b:v:0 1100k -b:v:1 600k -profile:v:0 main -profile:v:1 baseline -level:v:0 4 -level:v:1 3.1 -ac 2 -c:a aac -b:a 128k -af "aresample=async=1000:first_pts=0"  -f tee "[select=\'v:0,a\']testoutput.mp4|[select=\'v:1,a\']testoutput-360.mp4"

请任何人可以帮助我,为什么输出视频文件获取“ is_avc = false”?

是否有任何强制的选择?

谢谢

0 个答案:

没有答案