This page concerns an analysis of the MP4 files shipped in Google's Linux system image file for the Google Coral Development Board ("Dev Board"). On the Dev Boards file system, a Debian-like derivative named mendel, are two video files: /usr/share/edgetpudemo/video_device.mp4 and /usr/share/edgetpudemo/video_stream.mp4. Yet, both appear to depict the same sequence. The files are used for their demonstration script, edgetpu_demo. which can display results on a connected HDMI screen device or create an rtsp server so the results can be viewed remotely. The script requires either the parameter "--device" or "--stream" to select either method.
This page lists the variety of analysis of the three files based on the same video from pixabay.
Pixabay's version showing the different downloads based on size:
1) road_-_11018_Original_1920x1080.mp4 (59,565,269 bytes) - downloaded from pixabay at: https://pixabay.com/videos/road-autobahn-motorway-highway-11018/
2) video_device.mp4 (39,411,720 byes)- included with Coral image used to display on attached screen
3) video_stream.mp4 (15,059,552bytes ) - included with Coral image used for rtsp server (headless mode)
1) Why was the video file available at pixabay modified? 59MB to 39MB or 15MB.
2) Why are there different modified versions for each demonstration: device screen and rstp server? 39MB vs. 15 MB Shouldn't the same file work for both functions?
This investigation arose because John tried to use other MP4 files and found he could not see results with the stream demo and the device demo. This suggests that something in the code the displays the edge detection over the original file is very sensitive or brittle.
The Coral files are located in: /usr/share/edgetpudemo
Table ffmpeg diffs consists of the Linux utilit diff results comparing two output files generated from a command such as: ffprobe video_stream.mp4 >ffprobe_stream.txt 2>&1
Note: ffprobe sends its output to STDERR so we redirect STDERR "2" to STDOUT "&1" so all output goes to the text file.
road_-_11018_Original_1920x1080.mp4 vs. video_device.mp4 | road_-_11018_Original_1920x1080.mp4 vs. video_stream.mp4 | video_device.mp4 vs. video_stream.mp4 |
---|---|---|
jlpoole@ares ~/ai/coral_demo $ date;diff ffprobe_road.txt ffprobe_device.txt Thu Apr 21 08:26:45 PDT 2022 13c13 <Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'road_-_11018_Original_1920x1080.mp4': --- >Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_device.mp4': 15,20c15,20 < major_brand : isom < minor_version : 512 < compatible_brands: isomiso2avc1mp41 < encoder : Lavf56.4.101 < Duration: 00:01:00.08, start: 0.000000, bitrate: 7932 kb/s < Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 7803 kb/s, 50 fps, 50 tbr, 12800 tbn, 100 tbc (default) --- > major_brand : mp42 > minor_version : 0 > compatible_brands: mp42mp41isomavc1 > creation_time : 2017-07-30T00:19:59.000000Z > Duration: 00:01:00.05, start: 0.000000, bitrate: 5250 kb/s > Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4990 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default) 22c22,23 < handler_name : VideoHandler --- > creation_time : 2017-07-30T00:19:59.000000Z > handler_name : L-SMASH Video Handler 24c25,26 < Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) --- > encoder : AVC Coding > Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default) 26c28,29 < handler_name : SoundHandler --- > creation_time : 2017-07-30T00:19:59.000000Z > handler_name : L-SMASH Audio Handler jlpoole@ares ~/ai/coral_demo $ |
jlpoole@ares ~/ai/coral_demo $ date;diff ffprobe_road.txt ffprobe_stream.txt Thu Apr 21 08:29:25 PDT 2022 13c13 < Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'road_-_11018_Original_1920x1080.mp4': --- >Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_stream.mp4': 15,20c15,21 < major_brand : isom < minor_version : 512 < compatible_brands: isomiso2avc1mp41 < encoder : Lavf56.4.101 < Duration: 00:01:00.08, start: 0.000000, bitrate: 7932 kb/s < Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 7803 kb/s, 50 fps, 50 tbr, 12800 tbn, 100 tbc (default) --- > major_brand : mp42 > minor_version : 0 > compatible_brands: mp42mp41isomiso2 > creation_time : 2019-02-21T19:09:29.000000Z > encoder : x264 > Duration: 00:01:00.00, start: 0.000000, bitrate: 2007 kb/s > Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt470bg/smpte170m/bt709), 960x540 [SAR 1:1 DAR 16:9], 2006 kb/s, 25 fps, 25 tbr, 2500 tbn, 50 tbc (default) 21a23 > creation_time : 2019-02-21T19:09:29.000000Z 23,26d24 < vendor_id : [0][0][0][0] < Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) < Metadata: < handler_name : SoundHandler jlpoole@ares ~/ai/coral_demo $ |
jlpoole@ares ~/ai/coral_demo $ date;diff ffprobe_device.txt ffprobe_stream.txt Thu Apr 21 08:29:43 PDT 2022 13c13 < Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_device.mp4': --- > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video_stream.mp4': 17,20c17,21 < compatible_brands: mp42mp41isomavc1 < creation_time : 2017-07-30T00:19:59.000000Z < Duration: 00:01:00.05, start: 0.000000, bitrate: 5250 kb/s < Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4990 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default) --- > compatible_brands: mp42mp41isomiso2 > creation_time : 2019-02-21T19:09:29.000000Z > encoder : x264 > Duration: 00:01:00.00, start: 0.000000, bitrate: 2007 kb/s > Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt470bg/smpte170m/bt709), 960x540 [SAR 1:1 DAR 16:9], 2006 kb/s, 25 fps, 25 tbr, 2500 tbn, 50 tbc (default) 22,29c23,24 < creation_time : 2017-07-30T00:19:59.000000Z < handler_name : L-SMASH Video Handler < vendor_id : [0][0][0][0] < encoder : AVC Coding < Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default) < Metadata: < creation_time : 2017-07-30T00:19:59.000000Z < handler_name : L-SMASH Audio Handler --- > creation_time : 2019-02-21T19:09:29.000000Z > handler_name : VideoHandler jlpoole@ares ~/ai/coral_demo $ |
road_-_11018_Original_1920x1080.mp4 vs. video_device.mp4 | road_-_11018_Original_1920x1080.mp4 vs. video_stream.mp4 | video_device.mp4 vs. video_stream.mp4 |
---|---|---|
jlpoole@ares ~/ai/coral_demo $ diff gst-discoverer_road_-_11018_Original_1920x1080.txt gst-discoverer_video_device.txt 1,2c1,2 < Analyzing file:///home/jlpoole/ai/coral_demo/road_-_11018_Original_1920x1080.mp4 < Done discovering file:///home/jlpoole/ai/coral_demo/road_-_11018_Original_1920x1080.mp4 --- > Analyzing file:///home/jlpoole/ai/coral_demo/video_device.mp4 > Done discovering file:///home/jlpoole/ai/coral_demo/video_device.mp4 5c5 < Duration: 0:01:00.075000000 --- > Duration: 0:01:00.053333333 10c10 < Stream ID: b20981be5293c9f4857a464174a732934bf33b5704fb3db13a7b060a9bb0b3d6/002 --- > Stream ID: 27c858839b67f3fb4e09ca9f460b7d22e7f8135915a1b8fb0c93998f22ded17a/002 15,16c15,16 < Bitrate: 128388 < Max bitrate: 128388 --- > Bitrate: 0 > Max bitrate: 264088 18c18 < Stream ID: b20981be5293c9f4857a464174a732934bf33b5704fb3db13a7b060a9bb0b3d6/001 --- > Stream ID: 27c858839b67f3fb4e09ca9f460b7d22e7f8135915a1b8fb0c93998f22ded17a/001 22c22 < Frame rate: 50/1 --- > Frame rate: 25/1 25c25 < Bitrate: 7793665 --- > Bitrate: 4981727 jlpoole@ares ~/ai/coral_demo $ |
jlpoole@ares ~/ai/coral_demo $ diff gst-discoverer_road_-_11018_Original_1920x1080.txt gst-discoverer_video_stream.txt 1,2c1,2 < Analyzing file:///home/jlpoole/ai/coral_demo/road_-_11018_Original_1920x1080.mp4 < Done discovering file:///home/jlpoole/ai/coral_demo/road_-_11018_Original_1920x1080.mp4 --- > Analyzing file:///home/jlpoole/ai/coral_demo/video_stream.mp4 > Done discovering file:///home/jlpoole/ai/coral_demo/video_stream.mp4 5c5 < Duration: 0:01:00.075000000 --- > Duration: 0:01:00.000000000 9,20c9,12 < audio #1: MPEG-4 AAC < Stream ID: b20981be5293c9f4857a464174a732934bf33b5704fb3db13a7b060a9bb0b3d6/002 < Language: <unknown> < Channels: 2 (front-left, front-right) < Sample rate: 48000 < Depth: 32 < Bitrate: 128388 < Max bitrate: 128388 < video #2: H.264 (High Profile) < Stream ID: b20981be5293c9f4857a464174a732934bf33b5704fb3db13a7b060a9bb0b3d6/001 < Width: 1920 < Height: 1080 --- > video #1: H.264 (Constrained Baseline Profile) > Stream ID: bdd1de0787b0fb01c029903cb5b55f51979308a907b9324aa1c8797a5ed96ad5/001 > Width: 960 > Height: 540 22c14 < Frame rate: 50/1 --- > Frame rate: 25/1 25,26c17,18 < Bitrate: 7793665 < Max bitrate: 0 --- > Bitrate: 2006877 > Max bitrate: 2048000 jlpoole@ares ~/ai/coral_demo $ |
jlpoole@ares ~/ai/coral_demo $ diff gst-discoverer_video_device.txt gst-discoverer_video_stream.txt 1,2c1,2 < Analyzing file:///home/jlpoole/ai/coral_demo/video_device.mp4 < Done discovering file:///home/jlpoole/ai/coral_demo/video_device.mp4 --- > Analyzing file:///home/jlpoole/ai/coral_demo/video_stream.mp4 > Done discovering file:///home/jlpoole/ai/coral_demo/video_stream.mp4 5c5 < Duration: 0:01:00.053333333 --- > Duration: 0:01:00.000000000 9,20c9,12 < audio #1: MPEG-4 AAC < Stream ID: 27c858839b67f3fb4e09ca9f460b7d22e7f8135915a1b8fb0c93998f22ded17a/002 < Language: <unknown> < Channels: 2 (front-left, front-right) < Sample rate: 48000 < Depth: 32 < Bitrate: 0 < Max bitrate: 264088 < video #2: H.264 (High Profile) < Stream ID: 27c858839b67f3fb4e09ca9f460b7d22e7f8135915a1b8fb0c93998f22ded17a/001 < Width: 1920 < Height: 1080 --- > video #1: H.264 (Constrained Baseline Profile) > Stream ID: bdd1de0787b0fb01c029903cb5b55f51979308a907b9324aa1c8797a5ed96ad5/001 > Width: 960 > Height: 540 25,26c17,18 < Bitrate: 4981727 < Max bitrate: 0 --- > Bitrate: 2006877 > Max bitrate: 2048000 jlpoole@ares ~/ai/coral_demo $ |