ffmpeg 无法使用不受支持的编解码器删除流

问题描述

我有用户上传的mp4文件,当用一些播放器播放时,会弹出一些警告。 我查看了视频,发现了类似 Unsupported codec with id 0 for input stream 2内容。所以我想放弃它。 我使用 -map 0:a -map 0:v 只选择视频和音频流,但它不起作用(不删除数据流)。

这里是源 mp4 信息

$ ffprobe.exe 9846ad1fbce094023e5978b090699d46.mp4
ffprobe version git-2019-12-08-9f7b2b3 copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20191125
...........
Input #0,mov,mp4,m4a,3gp,3g2,mj2,from '9846ad1fbce094023e5978b090699d46.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:02:59.08,start: 0.000000,bitrate: 4867 kb/s
    Stream #0:0(eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661),yuv422p10le,856x480 [SAR 320:321 DAR 16:9],4728 kb/s,50 fps,50 tbr,12800 tbn,100 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      timecode        : 01:00:00:00
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D),44100 Hz,stereo,fltp,128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
    Metadata:
      handler_name    : TimeCodeHandler
      timecode        : 01:00:00:00
Unsupported codec with id 0 for input stream 2

这是我尝试过的

$ ffprobe -v error -show_entries stream=index,codec_type,codec_name -of csv -i 9846ad1fbce094023e5978b090699d46.mp4
stream,h264,video
stream,1,aac,audio
stream,2,unkNown,data

$ ffmpeg -v error -i 9846ad1fbce094023e5978b090699d46.mp4 -map 0:a -map 0:v -y out.mp4

$ ffprobe -v error -show_entries stream=index,codec_name -of csv -i out.mp4
stream,data

我也试过(都不行)

ffmpeg -i 9846ad1fbce094023e5978b090699d46.mp4 -c:v copy -c:a copy -map_chapters -1 out.mp4 
ffmpeg -i 9846ad1fbce094023e5978b090699d46.mp4 -c copy -dn -map_Metadata:c -1 out.mp4

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)