Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 使用ffmpeg从mpegts文件中提取特定流的字节_Video_Ffmpeg_Stream_Metadata_Mpeg2 Ts - Fatal编程技术网

Video 使用ffmpeg从mpegts文件中提取特定流的字节

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

我有一个带有单个程序的mpeg ts文件。该程序由一些流组成——一个视频流和一些元数据流

我想提取一个特定的流到一个单独的文件。但是,元数据是使用ffmpeg不知道的编解码器编码的。我真的不关心这个-我只想将数据提取为字节,而不需要mpeg ts容器头。我尝试使用编解码器“复制”,但没有成功

我尝试了以下方法:

    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
因此,我的问题是:

  • 我可以提取未知编解码器流的字节流吗?怎么做
  • 如何在没有任何容器的情况下输出字节流?我应该使用原始视频吗

我不确定你能用ffmpeg做到这一点。 您可以通过ffprobe获得一些信息,但更好的选择是tstools

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能做到这一点。