VideoVideoStreamInfo
VideoMedia SEOGoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfo
SEO Analysis
AI GeneratedRelated to video content processing and YouTube integration. Video content appears in universal search results, video carousels, and YouTube search. This model processes video signals that determine how video content is ranked and displayed in both web search and YouTube search results.
Actionable Insights for SEOs
- Optimize image alt text, file names, and compression for image search
- Implement image structured data for enhanced visibility
- Consider video content strategy for video carousel visibility
Attributes
73profilestringnilFull type: String.tvideo profile
audioStreamVideoVideoStreamInfoAudioStream →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfoAudioStream.tfileHeaderFingerprintstringnilFull type: String.tInput file header fingerprint
videoStreamVideoVideoStreamInfoVideoStream →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfoVideoStream.tvideoNumberOfFramesstringnilFull type: String.tNumber of Video frames Warning: running video::FfmpegVideoFileInformation() won't set this info Ffmpeg tool does not report the number of frames accurately. We can't rely on fps and video length. So we will set this after we processed every frame using the filter framework
pixFmtstringnilFull type: String.tPixel format for the video stream.
fileMagicstringnilFull type: String.tThe file type string returned by libmagic, a third party library. It might accidentally include some user content. Some normal file_magic examples: -- RIFF (little-endian) data, AVI, 1016 x 696, 30.00 fps, video: XviD, audio: (stereo, 48000 Hz) -- MPEG sequence, v2, program multiplex -- ISO Media, MPEG v4 system, iTunes AVC-LC -- Microsoft Windows Movie Maker project file
isImageFileboolean(nilTrue if the video is actually an image file (JPEG, PNG, GIF, etc) and not a video file.
videoHasNonMonotonicPtsboolean(nilvideo has non-monotonic PTS.
numTimedtextStreamsinteger(nilTotal number of timedtext streams in the file
videoEndTimestampstringnilFull type: String.tvideoFpsfloat(nilvideo frame per second, obtained by parsing video header information. It could be inaccurate for some types of codecs, notably, WMV, ASF, and FLV. It will be inaccurate for videos that does not have constant frame rate since it is the smallest framerate that can accurately represent all timestamps (see ffmpeg doc for AVStream.r_frame_rate). Also frame rate can be parsed from headers and can be wrong if it is not available there since ffmpeg uses a heuristic for determining it.
videoNumberOfInvisibleFramesinteger(nilInvisible frame count Keep a count of frames that are not displayed should the full frame count be needed for the video stream. The only codec currently reporting this value is VP8 with alternate reference frames enabled
videoHasNonMonotonicDtsboolean(nilvideo has non-monotonic DTS (potential problem)
audioChannelsinteger(nilaudio channels
videoPixelAspectRatiofloat(nilvideo pixel aspect ratio
videoClipInfoVideoVideoClipInfo →nilFull type: GoogleApi.ContentWarehouse.V1.Model.VideoVideoClipInfo.tVideo clip information, such as copyright, title, and author.
videostreaminfoVersioninteger(nilVersion number of the videostreaminfo application that generated this protobuf.
audioFrameSizestringnilFull type: String.taudio frame size
audioStreamCodecTagstringnilFull type: String.taudioEndTimestampstringnilFull type: String.tmetadataVideoVideoStreamInfoMetadata →nilFull type: GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfoMetadata.ttimedtextStreamVideoVideoStreamInfoTimedTextStream →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfoTimedTextStream.tvideoHasNonZeroStartEditListboolean(nilvideo (MOV) has a possibly av desync issue due to edit lists not starting at 0
numDataStreamsinteger(nilTotal number of data streams in the file
avDistancestringnilFull type: String.tAudio-Video interleaving distance between packets (in bytes)
audioLengthfloat(nilaudio length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).
parsedByInHouseParsersboolean(nilTrue if the file was successfully parsed by in-house parsers. Unset if parsing wasn't attepmted.
videoHasPossibleOpenGopboolean(nilvideo has possible open GOP
fileNamestringnilFull type: String.tInput file name. DEPRECATED; don't expect the file name to be correct.
numVideoStreamsinteger(nilTotal number of video streams in the file
dataStreamVideoVideoStreamInfoDataStream →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfoDataStream.taudioSampleSizeinteger(nilNumber of meaningful bits per decoded audio sample. This is an implicit conceptual meaning. This is NOT the same as ffmpeg's internal sample format that is used when actually decoding with ffmpeg.
containsChaptersboolean(nilIf the video contains chapters info.
containerTypestringnilFull type: String.tName of the container format guessed by ffmpeg.
audioBitratefloat(nilaudio bitrate in bits/s
containerIdstringnilFull type: String.tContainer Id.
videoInterlacestringnilFull type: String.tInformation on interlaced video.
partialFileboolean(nilBy default we assume that the entire file was given computing the VSI - if that is not true this flag should be set to true.
videoHeightinteger(nilavLengthfloat(nilAudio and video length in seconds. It's the max of the audio and video length. Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).
averageVideoFpsfloat(nilAverage video fps from analyzing entire file.
audioSampleRatestringnilFull type: String.taudio sample rate
audioNumberOfFramesstringnilFull type: String.tNumber of audio frames. Ffmpeg does not report the number of frames accurately. video::TranscodedVideoFileInformation calls Google's analyzer to get information of both audio and video frame numbers.
imageStreamVideoVideoStreamInfoVideoStream →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.VideoVideoStreamInfoVideoStream.tvideoHasBFramesboolean(nilvideo has b frames
fileModifiedTimestringnilFull type: String.tInput file modification time
videoStartTimestampstringnilFull type: String.tStart/end timestamps of audio/video in ms.
isAsfboolean(nilTrue if the video is likely to be an ASF file.
videoRotationstringnilFull type: String.tIs the video rotated ?
videoFrameSizestringnilFull type: String.tvideo frame size
videoHasLeadingMoovAtomboolean(nilvideo (MOV) has moov atom before mdat atom allowing streaming transcoding
videoCodecIdstringnilFull type: String.tPrimary video codec information Fields 1-2, 4-10, 28, 37, 44, 49, 51, 54-55, 57-62, 69 will be obsolete soon. Please start using the new repeated video_stream. For now, video_stream(0) will match these fields. Note however that some of the fields in VideoStream are not populated correctly yet in videostreaminfo.cc, but that will be handled gradually.
parsedByFfmpegboolean(nilIf this field is not set, then only base video file information has been generated (and ffmpeg parsing hasn't yet been done). If this is set to 'false', then ffmpeg failed to parse the file - otherwise it will set to 'true'
videoBitratefloat(nilvideo bitrate in bits/s
audioCodecIdstringnilFull type: String.tPrimary audio codec information Fields 15-20, 41-42, 48, 52-53 for audio will be obsolete soon. Please start using the new repeated audio_stream and video_stream. For now, audio_stream(0) will match these fields. Primary audio codec information starts:
googleVideoClipInfoVideoGoogleVideoClipInfo →nilFull type: GoogleApi.ContentWarehouse.V1.Model.VideoGoogleVideoClipInfo.tYT app created video information,
levelinteger(nilvideoHasVariableAspectRatioboolean(nilvideo has frames with different aspect ratios.
fileTypeinteger(nilHigh-level file type guessed by looking at the file headers and libmagic.
isVideoInsaneSizeboolean(nilCheck if a video size insane or not. It is set if the input file is an MOV file.
displayHeightinteger(nilnumAudioStreamsinteger(nilTotal number of audio streams in the file
videoWidthinteger(nilsource video width and height
fileSizestringnilFull type: String.tInput file size in bytes
audioStartTimestampstringnilFull type: String.tvideoLengthfloat(nilvideo length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).
videoHasFragmentsboolean(nilvideo (MOV) has fragments
yPsnrfloat(nilLuma PSNR of the transcoded file.
numImageStreamsinteger(nilTotal number of image streams in the file
videoStreamCodecTaginteger(nilbuildLabelstringnilFull type: String.tBuild label of the VSI mpm.
displayWidthinteger(nilfinal display video width and height if explicitly set in the video otherwise this can be calculated from source width/height and video_pixel_aspect_ratio