Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
ffmpeg mp4 x264 encoding -> playback causes "pending" in both crome and IE causing 10+ seconds delay
29 septembre 2014, par user1978645After encoding a video to mp4(x264 with aac); I have the following weird behaviour in both crome and IE:
Im serving the content from https with spdy enables.
It takes up to 30 seconds before the video is actually played, in the mean time i cannot reload the page it shows up as "pending". (even after i have visual on the video sometimes it takes 10-20 seconds before i can actually reload the page, or navigate to another url on the same domain)
After looking at the "network" tab in developer tools, i see the following requests for 1 page/video:
Path Method Status Type Initiator Size/content Time/latency video.mp4 GET 206 OK video/mp4 other 32.3KB/32.0kb 600ms/339MS video.mp4 GET 206 OK video/mp4 other 123kb/123b 21.85s/21.46s video.mp4 GET 206 OK video/mp4 other 7.1MB/7.2MB 1.4min/2ms
I tried to isolate the problem, When i use an mp4 video from the internet (for example the demo video of jplayer) and load it from my server, it loads rapidly, without delays.
So it makes me think the problem lies within the encoding. I tried various things. FFmpeg:
csr 69 (low quality)
various options
HTML:
preload="none"
javascript loading/playing of the movie
type='mp4/video'
no posterimage
But i cannot resolve the problem. Does anyone have a clue what is causing this?
I have a download speed of 300kb/s and the movie is 6MB.
After the video starts, the video isn't fully buffered, so i wonder: What is the html5 videoplayer doing all this time?
The problem also blocks the connections. When i press "F5" in both chrome and IE the page beeing reloaded comes up in the network tab as "pending" and it can take 10 to 20 seconds before the page actually reloads.
ffmpeg command: (i used various commands but this is just 1 example which causes the problem)
/root/bin/ffmpeg -threads 1 -y -i /home/flirtzo/public_html//userfiles/files/94e76a18a7838e62ecb23cf0c374b1b798e7b936 -threads 0 -codec:a libfdk_aac -b:a 128k -vf "scale=-2:320" -preset veryslow -vcodec h264 -acodec aac -strict -2 /home/flirtzo/public_html/userfiles/files/b2/72/695f4eba95169a3f29564bf9571c703b05f1b5974f5156da633eb139c80a1575452e2858dfc61cc82bfca02d2b156aa64d4503695756481dc2a5d1c673a4cdea-94e76a18a7838e62ecb23cf0c374b1b798e7b936.mp4
Output:
ffmpeg version git-2014-04-16-c150e2c Copyright (c) 2000-2014 the FFmpeg developers built on Sep 28 2014 21:08:17 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4) configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra- ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-nonfree - -enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable- libx264 libavutil 52. 76.100 / 52. 76.100 libavcodec 55. 58.103 / 55. 58.103 libavformat 55. 37.100 / 55. 37.100 libavdevice 55. 13.100 / 55. 13.100 libavfilter 4. 4.100 / 4. 4.100 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, mpeg, from '/home/flirtzo/public_html//userfiles/files/94e76a18a7838e62ecb23cf0c374b1b798e7b936': Duration: 00:00:25.97, start: 0.340078, bitrate: 29004 kb/s Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x240 [SAR 200:219 DAR 880:657], 1150 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 29.97 tbc Stream #0:1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 224 kb/s [libx264 @ 0x2b189c0] using SAR=1199/1314 [libx264 @ 0x2b189c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x2b189c0] profile High, level 1.3 [libx264 @ 0x2b189c0] 264 - core 142 r2 d6b4e63 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=4 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=20 rc=crf mbtree=1 crf=51.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to '/home/flirtzo/public_html/userfiles/files/b2/72/695f4eba95169a3f29564bf9571c703b05f1b5974f5156da633e b139c80a1575452e2858dfc61cc82bfca02d2b156aa64d4503695756481dc2a5d1c673a4cdea- 94e76a18a7838e62ecb23cf0c374b1b798e7b936.mp4': Metadata: encoder : Lavf55.37.100 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 320x218 [SAR 1199:1314 DAR 880:657], q=-1--1, 30k tbn, 29.97 tbc Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (mpeg1video -> libx264) Stream #0:1 -> #0:1 (mp2 -> aac) Press [q] to stop, [?] for help frame=16127 fps=786 q=-1.0 Lsize= 10559kB time=00:08:58.12 bitrate= 160.7kbits/s dup=12 drop=0 video:1586kB audio:8410kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.638589% [libx264 @ 0x2b189c0] frame I:109 Avg QP:50.58 size: 494 [libx264 @ 0x2b189c0] frame P:9537 Avg QP:51.00 size: 138 [libx264 @ 0x2b189c0] frame B:6481 Avg QP:51.00 size: 40 [libx264 @ 0x2b189c0] consecutive B-frames: 21.8% 72.1% 5.4% 0.7% [libx264 @ 0x2b189c0] mb I I16..4: 46.1% 53.9% 0.0% [libx264 @ 0x2b189c0] mb P I16..4: 6.0% 6.1% 0.0% P16..4: 12.7% 1.1% 0.1% 0.0% 0.0% skip:74.1% [libx264 @ 0x2b189c0] mb B I16..4: 0.1% 0.1% 0.0% B16..8: 6.3% 0.0% 0.0% direct: 0.7% skip:92.9% L0:38.6% L1:61.2% BI: 0.2% [libx264 @ 0x2b189c0] 8x8 transform intra:50.8% inter:85.6% [libx264 @ 0x2b189c0] coded y,uvDC,uvAC intra: 5.9% 39.5% 0.1% inter: 0.1% 1.0% 0.0% [libx264 @ 0x2b189c0] i16 v,h,dc,p: 56% 30% 7% 7% [libx264 @ 0x2b189c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 11% 62% 3% 3% 3% 3% 2% 2% [libx264 @ 0x2b189c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 5% 73% 2% 0% 0% 0% 0% 2% [libx264 @ 0x2b189c0] i8c dc,h,v,p: 97% 1% 2% 0% [libx264 @ 0x2b189c0] Weighted P-Frames: Y:5.5% UV:2.7% [libx264 @ 0x2b189c0] ref P L0: 64.8% 35.2% [libx264 @ 0x2b189c0] ref B L0: 75.2% 24.8% [libx264 @ 0x2b189c0] ref B L1: 99.3% 0.7% [libx264 @ 0x2b189c0] kb/s:24.13 ffmpeg version git-2014-04-16-c150e2c Copyright (c) 2000-2014 the FFmpeg developers built on Sep 28 2014 21:08:17 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4) configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra- ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-nonfree - -enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable- libx264 libavutil 52. 76.100 / 52. 76.100 libavcodec 55. 58.103 / 55. 58.103 libavformat 55. 37.100 / 55. 37.100 libavdevice 55. 13.100 / 55. 13.100 libavfilter 4. 4.100 / 4. 4.100 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, mpeg, from '/home/flirtzo/public_html//userfiles/files/94e76a18a7838e62ecb23cf0c374b1b798e7b936': Duration: 00:00:25.97, start: 0.340078, bitrate: 29004 kb/s Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x240 [SAR 200:219 DAR 880:657], 1150 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 29.97 tbc Stream #0:1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 224 kb/s [libx264 @ 0x300d9c0] using SAR=200/219 [libx264 @ 0x300d9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x300d9c0] profile High, level 2.2 [libx264 @ 0x300d9c0] 264 - core 142 r2 d6b4e63 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to '/home/flirtzo/public_html/userfiles/files/b2/72/73d4a3245c0b0e174ab7ce0f872ba3f649f8b93f73a6deeab364 4a994009d73638ce61aecc7dc2e0250c4e74ff2d9a4d479ed35cef26b3f6e1a77e8bf5938518- 94e76a18a7838e62ecb23cf0c374b1b798e7b936.mp4': Metadata: encoder : Lavf55.37.100 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 352x240 [SAR 200:219 DAR 880:657], q=-1--1, 30k tbn, 29.97 tbc Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s Stream mapping: Stream #0:0 -> #0:0 (mpeg1video -> libx264) Stream #0:1 -> #0:1 (mp2 -> aac) Press [q] to stop, [?] for help frame=16127 fps= 88 q=-1.0 Lsize= 29190kB time=00:08:58.12 bitrate= 444.4kbits/s dup=12 drop=0 video:20221kB audio:8410kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.954086% [libx264 @ 0x300d9c0] frame I:73 Avg QP:24.31 size: 8024 [libx264 @ 0x300d9c0] frame P:4399 Avg QP:26.97 size: 2600 [libx264 @ 0x300d9c0] frame B:11655 Avg QP:32.51 size: 745 [libx264 @ 0x300d9c0] consecutive B-frames: 3.8% 5.0% 27.2% 18.4% 8.4% 33.9% 1.7% 0.7% 0.9% [libx264 @ 0x300d9c0] mb I I16..4: 10.8% 68.5% 20.7% [libx264 @ 0x300d9c0] mb P I16..4: 2.9% 7.5% 0.8% P16..4: 45.1% 18.4% 12.4% 0.5% 0.1% skip:12.3% [libx264 @ 0x300d9c0] mb B I16..4: 0.6% 1.3% 0.1% B16..8: 40.1% 8.7% 1.7% direct: 2.1% skip:45.5% L0:47.2% L1:41.7% BI:11.1% [libx264 @ 0x300d9c0] 8x8 transform intra:66.7% inter:76.7% [libx264 @ 0x300d9c0] direct mvs spatial:99.9% temporal:0.1% [libx264 @ 0x300d9c0] coded y,uvDC,uvAC intra: 60.3% 75.8% 16.4% inter: 17.3% 16.8% 0.6% [libx264 @ 0x300d9c0] i16 v,h,dc,p: 16% 27% 11% 47% [libx264 @ 0x300d9c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 13% 18% 6% 9% 9% 11% 9% 11% [libx264 @ 0x300d9c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 15% 7% 7% 14% 14% 13% 8% 10% [libx264 @ 0x300d9c0] i8c dc,h,v,p: 26% 32% 20% 22% [libx264 @ 0x300d9c0] Weighted P-Frames: Y:10.1% UV:6.9% [libx264 @ 0x300d9c0] ref P L0: 40.6% 12.1% 10.0% 5.2% 5.2% 4.7% 4.6% 3.0% 2.5% 2.1% 1.9% 1.8% 1.7% 1.7% 1.6% 1.3% [libx264 @ 0x300d9c0] ref B L0: 71.4% 5.6% 3.2% 3.0% 3.1% 2.8% 2.5% 1.8% 1.3% 1.0% 1.1% 1.2% 1.0% 0.7% 0.5% [libx264 @ 0x300d9c0] ref B L1: 96.3% 3.7% [libx264 @ 0x300d9c0] kb/s:307.82
-
sdl 1.2 & ffmpeg 1.09 flickering when overlays a picture during a video is playing
29 septembre 2014, par Alberto MartínIḿ developing a media player using SDL1.2 & ffmpeg 1.09.(C programming over VS2010, win7)
I have flickering when i try to overlay an image in the screen during the video is playing.(Like full screen buttons or an ad).
To display the video i'm creating overlay using SDL_CreateYUVoverlay function. Then I set the rectangle and call SDL_DisplayYUVOverlay.
I'm trying to show a picture while the video is playing. For showing the picture i tried YUV overlays(SDL_CreateYUVoverlay + SDL_DisplayYUVOverlay ) and also with surfaces(SDL_BlitSurface + SDL_UpdateRect or SDL_Flip) but it always flickers.
I use ffplay.c as an example.
I read something about merge two YUV overlays in one (2 input to 1 output), but i could not found information or examples about that.
Does anyone knows how to do this?
-
Compilation error when compiling libvpx for FFMPEG
29 septembre 2014, par Flock DawsonI'm compiling FFMPEG on my 64bit Ubuntu 14 machine. Everything compiled well, except for the libvpx library, which keeps throwing errors:
[AS] vp9/common/x86/vp9_subpixel_8t_ssse3.asm.o vp9/common/x86/vp9_subpixel_8t_ssse3.asm:856: warning: label alone on a line without a colon might be in error vp9/common/x86/vp9_subpixel_8t_ssse3.asm:897: warning: label alone on a line without a colon might be in error vp9/common/x86/vp9_subpixel_8t_ssse3.asm:970: warning: label alone on a line without a colon might be in error vp9/common/x86/vp9_subpixel_8t_ssse3.asm:1002: warning: label alone on a line without a colon might be in error vp9/common/x86/vp9_subpixel_8t_ssse3.asm:340: error: invalid combination of opcode and operands vp9/common/x86/vp9_subpixel_8t_ssse3.asm:457: error: invalid combination of opcode and operands vp9/common/x86/vp9_subpixel_8t_ssse3.asm:897: error: invalid combination of opcode and operands vp9/common/x86/vp9_subpixel_8t_ssse3.asm:1002: error: invalid combination of opcode and operands make[1]: *** [vp9/common/x86/vp9_subpixel_8t_ssse3.asm.o] Error 1 make: *** [.DEFAULT] Error 2
I followed this guide: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu I don't know what this error means, but read somewhere that compiling libvpx with NASM is broken, but I don't know how to compile it otherwise. Installing version 1.2 or 1.1 makes no difference whatsoever. Any ideas?
-
Handling correctly the ffmpeg & ffprobe with php
29 septembre 2014, par coccoHandling correctly the ffmpeg & ffprobe with php
maybe not relevant final goals:
- upload clip with ajax
- get ajax info from
ffprobe
using php as json executingffprobe
once only (noffmpeg
) - handle all calculations with javascript
- maybe an extra php script tool that can create gifs, extract frames(thumbs), or a video grid preview
- when rdy ajax the conversion info to the final php conversion script executing ffmpeg once only (just the final ffmpeg string.).
I'm trying to write my own ffmpeg local web video editor that converts all formats to mp4 automatically. As mp4 is the most compatible container now and the h264+aac/+ac3 is also one of the best compressions. I also want to be able to cut, crop, resize, remove streams, add streams and more. I'm stuck on some simple problems:
1. HOW TO GET THE INFO?
I'm using ffprobe to get the file information as json with the following command:
ffprobe -v quiet -print_format json -show_format -show_streams -show_packets '.$video
this gives you a lot of information, but some relevant stuff is not always present. I need the duration (in milliseconds),the fps (as a float) and the total frames (as an integer).
i know that these values can sometimes be found inside this array:
format.duration //Total duration streams[0].duration //Video duration streams[1].duration //Audio duration streams[0].avg_frame_rate //Average framerate streams[0].r_frame_rate //Video framerate streams[0].nb_frames //Total frames
but most of the time
nb_frames
is missing, alsoavg_frame_rate
differs fromr_frame_rate
, which is also not always available.I know that i could use multiple commands to increase the chance to get the correct values.. but srsly???
//fps ffmpeg -i INPUT 2>&1 | sed -n "s/.*, \(.*\) fp.*/\1/p" //duration ffmpeg -i INPUT 2>&1 | awk '/Duration/ {split($2,a,":");print a[1]*3600+a[2]*60+a[3]}' //frames ffmpeg -i INPUT -vcodec copy -f rawvideo -y /dev/null 2>&1 | tr ^M '\n' | awk '/^frame=/ {print $2}'|tail -n 1
I don't want to execute ffmpeg 3 times to get this information; I'd prefer to just use ffprobe.
So... is there an elegant way to get the extra info that is not always present inside the ffprobe output (fps, frames, duration)???
In the preview i want to be able to jump correctly to a specific frame (NOT TIME). if the above parameters are aviable i can do that using this command.
ffmpeg -i INPUT -vf 'select=gte(n\,FRAMENUMBER)' -vframes 1 -f image2 OUTPUT
using the above command by setting the framenumber to the last frame always returns a black frame. if there are 50 frames (for example) the range is 1-50 -- correct? Frame 50 is black, frame 1 is ok, frame 0 returns an error...
2. WHILE READING THE LOG HOW TO SKIP ERRORS AND DETERMINE IF THE CONVERSION IS FINISHED?
I'm able to upload one single video per time (per page) and i can read the current progress from the ffmpeg generated output log until i don't close the page. more control/multiple conversions would be nice.
i'm reading the last line of the log with a custom tail function but as this is a log that also includes errors i don't always get a nice line containing the desidered values. btw to check if the progress is complete i check if the last line CONTAINS the WORD
frame
....How can i find out when the conversion progress is finished?
maybe a way to delete the log with ffmpeg command??And skip/log the errors??
i'm using server sent events to read the log... here is the php code
<?php setlocale(LC_CTYPE, "en_US.UTF-8"); function tailCustom($filepath,$lines=1,$adaptive=true){ // a custom function to get the last line of a textfile. } function send($data){ echo "id: ".time().PHP_EOL; echo "data: ".$data.PHP_EOL; echo PHP_EOL; ob_flush(); flush(); } header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); while(true){ send(tailCustom($_GET['log'].".log")); sleep(1); } ?>
And here the SSE js
function startSSE(fn){ sse=new EventSource("ffmpegProgress.php?log="+encodeURIComponent(fn)); sse.addEventListener('message',conversionProgress,false); } function conversionProgress(e){ if(e.data.substr(0,6)=='frame='){ inProgress=true; var x=e.data.match(/frame=\s*(.*?)\s*fps=\s*(.*?)\s*q=\s*(.*?)\s*size=\s*(.*?)\s*time=\s*(.*?)\s*bitrate=\s*(.*?)\s*$/); x.shift();x={frame:x[0]*1,fps:x[1]*1,q:x[2],size:x[3],time:x[4],bitrate:x[5]}; var elapsedTime = ((new Date().getTime()) - startTime); var chunksPerTime = timeString2ms(x.time) / elapsedTime; var estimatedTotalTime = duration / chunksPerTime; var timeLeftInSeconds = Math.abs(elapsedTime-(estimatedTotalTime*1000)); var withOneDecimalPlace = Math.round(timeLeftInSeconds * 10) / 10; conversion.innerHTML='Time Left: '+ms2TimeString(timeLeftInSeconds).split('.')[0]+'
'+ 'Time Left2: '+(ms2TimeString(((frames-x.frame)/x.fps)*1000)+(timeString2ms(x.time)/(duration*1000)*100|0)).split('.')[0]+'
'+ 'Estimated Total: '+ms2TimeString(estimatedTotalTime*1000).split('.')[0]+'
'+ 'Elapsed Time: '+ms2TimeString(elapsedTime).split('.')[0]; }else{ if(inProgress){ sse.removeEventListener('message',conversionProgress,false); sse.close(); sse=null; conversion.textContent='Finished in '+ms2TimeString((new Date().getTime()) - startTime).split('.')[0]; //delete log/old file?? inProgress=false; } } }EDIT
HERE IS A SAMPLE OUTPUT after detecting h264 codec in a m2ts with ac3 audio
As most devices can already read h264 i just need to convert the audio in aac and copy the same audio AC3 as second track. and put everything inside a mp4 container. So that i have a Android/chrome/ios & more browsers compatible file.
$opt="-map 0:0 -map 0:1 -map 0:1 -c:v copy -c:a:0 libfdk_aac -metadata:s:a:0 language=ita -b:a 128k -ar 48000 -ac 2 -c:a:1 copy -metadata:s:a:1 language=ita -movflags +faststart"; $i="in.m2ts"; $o="out.mp4"; $t="title"; $y="2014"; $progress="nameoftheLOG.log"; $cmd="ffmpeg -y -i ".escapeshellarg($i)." -metadata title=".$t." -metadata date=".$y." ".$opt." ".$o." null >/dev/null 2>".$progress." &";
if you have any questions about the code or want to see more code just ask...
-
FFProbe and Specific codec profile name
29 septembre 2014, par egekhterI'm trying to re-create the XML structure for a .plist file produced by mediafilesegmenter from HLS tools, specifically the part:
videoCodecInfo avc1.4d401f Using:
ffprobe -i video.mp4 -print_format json -show_format -show_streams
The values mapping to videoCodecInfo are not supplied, only Profile and Level (in the case of video).
Aside from creating a custom dictionary and querying ffprobe values to find a matching string like "avc1.4d401f", are there any other ways to get this information?