Video 使用ffmpeg丢弃容器中的数据流

Video 使用ffmpeg丢弃容器中的数据流,video,ffmpeg,containers,mp4,subtitle,Video,Ffmpeg,Containers,Mp4,Subtitle,我正在尝试使用ffmpeg去除Mp4容器中的数据(字幕)流 以下是ffprobe的屏幕截图: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.m4v': Metadata: major_brand : isom minor_version : 2 compatible_brands: isomiso2avc1mp41 creation_time : 2018-01-19T15:10:48.000000Z Duration: 00:00:

我正在尝试使用ffmpeg去除Mp4容器中的数据(字幕)流

以下是ffprobe的屏幕截图:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.m4v':
Metadata:
major_brand     : isom
minor_version   : 2
compatible_brands: isomiso2avc1mp41
creation_time   : 2018-01-19T15:10:48.000000Z
Duration: 00:00:42.17, start: 0.000000, bitrate: 6260 kb/s
Chapter #0:0: start 0.000000, end 42.166000
Metadata:
  title           : Chapter 1
Stream #0:0(eng): Data: bin_data (text / 0x74786574), 0 kb/s (default)
Metadata:
  creation_time   : 2018-01-19T15:10:48.000000Z
  handler_name    : Apple Alias Data Handler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, 
fltp, 317 kb/s (default)
Metadata:
  creation_time   : 2018-01-19T15:10:48.000000Z
  handler_name    : AAC audio
Stream #0:2(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 
1920x1080, 5926 kb/s, 30 fps, 30 tbr, 30k tbn, 60k tbc (default)
Metadata:
  creation_time   : 2018-01-19T15:10:48.000000Z
  handler_name    : H264 video
 **Unsupported codec with id 100359 for input stream 0**
我试过:

 ffmpeg -i test.m4v -acodec copy -vcodec copy -sn nodata.mp4
数据磁道仍然存在,只是从流0移动到流2

我也试过:

 ffmpeg -i test.m4v -acodec copy -vcodec copy -map 0:1 -map 0:2 no2.mp4
同样的结果,赛道仍然在那里,只是以0:2的比分跳到了赛道上,没有运气

有什么提示吗?
提前感谢

谢谢,我决定使用带有负值的
-map\u章节
选项删除数据流

完整字符串:

ffmpeg -i in.mp4 -c:v copy -c:a copy -map_chapters -1 out.mp4 

希望这能帮助别人

最好使用此命令而不是
-map\u chapters-1

ffmpeg -i in.mp4 -c copy -dn -map_metadata:c -1 out.mp4
-dn
表示我们不需要将
in.mp4
中的数据流复制到
out.mp4
。如果您在源文件中有数据流,则需要使用它。但即使源文件中没有数据流,ffmpeg也会在输出文件中附加一个数据流,以保留章节元数据信息(章节名称)。这使玩家能够命名每一章

如果你不需要它,你的章节可能没有名字
-map_chapters-1
完全删除章节,这样在视频流中您将丢失所有章节。但是,如果您只是想不包含数据流,那么通过使用
-map\u metadata:c-1
,您可能会保留章节而只是丢失它们的名称。这可能是一个更好、破坏性更小的想法

供参考:


共享最后一个命令的完整控制台输出。
未找到引用的QT章节曲目
将在生成的文件上以红色显示,但这可以使用
-忽略章节1
忽略。
-dn (output)
    Disable data recording. For full manual control see the "-map" option.