Video 使用ffmpeg从mpegts文件中提取特定流的字节
我有一个带有单个程序的mpeg ts文件。该程序由一些流组成——一个视频流和一些元数据流 我想提取一个特定的流到一个单独的文件。但是,元数据是使用ffmpeg不知道的编解码器编码的。我真的不关心这个-我只想将数据提取为字节,而不需要mpeg ts容器头。我尝试使用编解码器“复制”,但没有成功 我尝试了以下方法:Video 使用ffmpeg从mpegts文件中提取特定流的字节,video,ffmpeg,stream,metadata,mpeg2-ts,Video,Ffmpeg,Stream,Metadata,Mpeg2 Ts,我有一个带有单个程序的mpeg ts文件。该程序由一些流组成——一个视频流和一些元数据流 我想提取一个特定的流到一个单独的文件。但是,元数据是使用ffmpeg不知道的编解码器编码的。我真的不关心这个-我只想将数据提取为字节,而不需要mpeg ts容器头。我尝试使用编解码器“复制”,但没有成功 我尝试了以下方法: ffmpeg -i video.ts -map 0:1 -codec copy stream.txt ffmpeg -i video.ts -map 0:1 -code
ffmpeg -i video.ts -map 0:1 -codec copy stream.txt
ffmpeg -i video.ts -map 0:1 -codec copy stream.ts
但是ffmpeg说:
Unable to find a suitable output format for stream.txt
上面的错误只是因为ffmpeg不知道如何输出文本文件。因此,我尝试使用“rawvideo”容器输出:
ffmpeg -i video.ts -map 0:1 -codec copy -f rawvideo stream.txt
但是:
为了确保能够提取未知编解码器的内容,我尝试了以下方法:
ffmpeg -i video.ts -map 0:1 -codec copy stream.txt
ffmpeg -i video.ts -map 0:1 -codec copy stream.ts
但是,再一次:
Cannot map stream #0:1 - unsupported type
因此,我的问题是:
- 我可以提取未知编解码器流的字节流吗?怎么做
- 如何在没有任何容器的情况下输出字节流?我应该使用原始视频吗
tsinfo yourfile.ts > metadata.txt
使用
尝试
ffmpeg-i video.ts-map 0:v-c:v copy stream.ts
或ffmpeg-i video.ts-an-c:v copy stream.ts
命令提取视频流。如何提取元数据?是否有方法将生成的txt解码为可读信息,例如csv格式?这完全取决于数据流的格式。但不要指望ffmpeg能做到这一点。