-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stream quality, delay and artifacting #40
Comments
i experience similar frame drops / artifacts when the camera is in video mode. hero 6, camera on 5g connected directly to my mac's wifi card, and within 50 cm, so i doubt many packets are lost in the air. i can get smooth preview if i switch to photo mode, however, the aspect ratio is 4:3 there vs 16:9 in video mode. anyone else faced this and managed to get smooth preview in video mode? |
That's weird, I don't get any difference in quality or drops when switching modes. |
thanks for quick response just did some more tests and played around with different settings, as you mentioned in this post i can get a smooth stream with the following settings: if i try to go any higher (bitrate or resolution) im getting errors in ffplay i also believe, that the bitrate needs to be set after the script is started, otherwise a default value must be used as im getting errors and artifacts
another weird behaviour: if i set the stream to 720 (gpControl/setting/64/7), the aspect seems to be 2:1, see black bars on the top and bottom if i try to set the resolution settings to 8 or 9, im getting internal server error: {
"version": "6.00",
"path_info": "setting/64/9",
"query_string": "",
"error_code":-1,
"error_msg":
Error: Parse error on line 6:
...e":-1,"error_msg": "500 Internal Server
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
"500 Internal Server Error
",
"function": "gpcontrol_cgi_handler",
"line": 190
} even though those seem to be valid in the gpControl: {
path_segment: "stream_window_size",
display_name: "Secondary Stream Window Size",
id: 64,
options: [
{
name: "DEFAULT",
display_name: "Default",
value: 0
},
{
name: "240",
display_name: "240",
value: 1
},
{
name: "240_3BY4_SUBSAMPLE",
display_name: "240 3:4 Subsample",
value: 2
},
{
name: "240_1BY2_SUBSAMPLE",
display_name: "240 1:2 Subsample",
value: 3
},
{
name: "480",
display_name: "480",
value: 4
},
{
name: "480_3BY4_SUBSAMPLE",
display_name: "480 3:4 Subsample",
value: 5
},
{
name: "480_1BY2_SUBSAMPLE",
display_name: "480 1:2 Subsample",
value: 6
},
{
name: "720",
display_name: "720",
value: 7
},
{
name: "720_3BY4_SUBSAMPLE",
display_name: "720 3:4 Subsample",
value: 8
},
{
name: "720_1BY2_SUBSAMPLE",
display_name: "720 1:2 Subsample",
value: 9
}
]
} can it be that this is because the setting is for "Secondary Stream Window Size", and the GoProStream script (ffplay) actually uses primary stream? |
tried with 2.4 GHz with same results, i need to go to 800 kbps to get fully smooth stream, but the quality at 480p is slightly too low. with 1 Mbps the stream is acceptable, however some decoding errors show up i am not sure if its the hero 6 that cannot cope with higher bitrates or my network environment. maybe something to do with other settings on the camera? i only have ~5 other wifi APs around and they all seem to be in the 2.4 range, so i would be leaning towards the gopro settings case. maybe its possible to disable the audio stream? it would be great if anyone managed to get proper 720p stream on hero 6, please share if so in the meantime, i added this to the script for anyone interested: ##
## HTTP GETs the URL that tells the GoPro to start streaming.
##
urlopen("http://10.5.5.9/gp/gpControl/execute?p1=gpStream&a1=proto_v2&c1=restart").read()
if "HD6" in response:
# change to default resolution (480p) and 1 Mbps bitrate
sleep(0.1)
urlopen("http://10.5.5.9/gp/gpControl/setting/64/0").read()
sleep(0.1)
urlopen("http://10.5.5.9/gp/gpControl/setting/62/1000000").read()
if RECORD: |
Hello, I am struggling with very poor stream quality on hero 6
With max bitrate and resolution from
this page it is still looking just like low res preview rather than actual stream
Audio is sightly delayed, but video is even way worse.
Video also has significant artifacting, with errors in ffmpeg stream,
[h264 @ 0x7f5bfc06e540] error while decoding MB 60 20, bytestream 7140 [h264 @ 0x7f5bfc06e540] concealing 1989 DC, 1989 AC, 1989 MV errors in P frame [h264 @ 0x7f5bfc0185c0] left block unavailable for requested intra4x4 mode -1 [h264 @ 0x7f5bfc0185c0] error while decoding MB 0 42, bytestream 501 [h264 @ 0x7f5bfc0185c0] concealing 289 DC, 289 AC, 289 MV errors in P frame [h264 @ 0x7f5bfc1ff800] left block unavailable for requested intra mode [h264 @ 0x7f5bfc1ff800] error while decoding MB 0 44, bytestream 692 [h264 @ 0x7f5bfc1ff800] concealing 129 DC, 129 AC, 129 MV errors in P frame [h264 @ 0x7f5bfc21bd00] error while decoding MB 64 43, bytestream -6 [h264 @ 0x7f5bfc21bd00] concealing 145 DC, 145 AC, 145 MV errors in P frame [h264 @ 0x7f5bfc2385c0] concealing 1896 DC, 1896 AC, 1896 MV errors in P frame [h264 @ 0x7f5bfc254e80] cabac decode of qscale diff failed at 48 8
I tried both 5ghz and 2.4 and different bitrate settings and it seems the same.
I tried same camera with smartphone, which works much better, so I guess ffplay is causing the issue.
Is everyone else experiencing this, or am I missing some obvious setting?? This makes gopro completely useless for streaming.
The text was updated successfully, but these errors were encountered: