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 如何获取h264视频信息?_Video_Ffmpeg_H.264_Decoding_X264 - Fatal编程技术网

Video 如何获取h264视频信息?

Video 如何获取h264视频信息?,video,ffmpeg,h.264,decoding,x264,Video,Ffmpeg,H.264,Decoding,X264,如何从视频文件中获取特定h264视频信息?我需要知道配置文件(基线/主/高)以及电影中是否有B帧?用于检测信息 获取它mediainfo是否提供您需要的输出? (如果您在Mac电脑上,可以使用brew轻松安装。>brew安装媒体信息) 我发现最好的方法是使用-show\u streams参数。它显示了电影视频流的h.264配置文件和B帧使用情况 ffprobe-show_streams-i“file.mp4” 从1.0.7版开始,ffprobe通过-print_format JSON命令开关提

如何从视频文件中获取特定h264视频信息?我需要知道配置文件(基线/主/高)以及电影中是否有B帧?

用于检测信息


获取它

mediainfo是否提供您需要的输出?

(如果您在Mac电脑上,可以使用brew轻松安装。>brew安装媒体信息)


我发现最好的方法是使用
-show\u streams
参数。它显示了电影视频流的h.264配置文件和B帧使用情况

ffprobe-show_streams-i“file.mp4”


从1.0.7版开始,ffprobe通过-print_format JSON命令开关提供格式良好的JSON输出

您可以这样使用它:

ffprobe-v quiet-print\u format json-show\u format Ramp\-\Apathy.mp3

生成以下输出:

{
    "format": {
        "filename": "Ramp - Apathy.mp3",
        "nb_streams": 2,
        "format_name": "mp3",
        "format_long_name": "MP2/3 (MPEG audio layer 2/3)",
        "start_time": "0.000000",
        "duration": "203.638856",
        "size": "4072777",
        "bit_rate": "159999",
        "tags": {
            "title": "Apathy",
            "artist": "Ramp",
            "album": "Evolution Devolution Revolution",
            "date": "1999",
            "genre": "Metal"
        }
    }
}

只是得到一般的信息?听起来与本网站的主题无关。如果你想把它写成代码,告诉我们更多关于代码的信息。语言、环境等。什么是视频文件?有各种各样的容器格式,能不能存储H.264视频。我正在寻找任何可能的方法来确定这一点,任何库,任何命令行应用程序。在我的工作中,我使用C#和ffmpeg应用程序,但它不能给我特殊的编解码器信息。@RomanR。如果解决方案能与所有可能的容器一起工作,这将是完美的。对于特定的属性,如果您已经知道它们的变量名,例如,要在批处理中进行处理,最好将show_条目与ffprobe一起使用,而不要使用show_格式或show_流。我刚刚回答了+1与Ubuntu12.10
$sudo-apt-get-install-mediainfo一起工作
mediainfo检查264格式设置(如CABAC),而ffprobe不检查。使用哪种工具可以获取一些信息,如GOP大小?!CRF等的价值?!你如何只选择特定的流?但它不会显示GOP大小或B帧的任何数字@ρss我已经用适当的内容更新了答案。
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1001/48000
codec_tag_string=avc1
codec_tag=0x31637661
width=1920
height=1080
has_b_frames=0
sample_aspect_ratio=0:1
display_aspect_ratio=0:1
pix_fmt=yuv420p
level=40
timecode=N/A
is_avc=1
nal_length_size=4
id=N/A
r_frame_rate=24000/1001
avg_frame_rate=24000/1001
time_base=1/48000
start_time=0.000000
duration=252.168583
bit_rate=5617233
nb_frames=6046
nb_read_frames=N/A
nb_read_packets=N/A
TAG:creation_time=1970-01-01 00:00:00
TAG:language=und
TAG:handler_name=VideoHandler
[/STREAM]
{
    "format": {
        "filename": "Ramp - Apathy.mp3",
        "nb_streams": 2,
        "format_name": "mp3",
        "format_long_name": "MP2/3 (MPEG audio layer 2/3)",
        "start_time": "0.000000",
        "duration": "203.638856",
        "size": "4072777",
        "bit_rate": "159999",
        "tags": {
            "title": "Apathy",
            "artist": "Ramp",
            "album": "Evolution Devolution Revolution",
            "date": "1999",
            "genre": "Metal"
        }
    }
}