webrtc icon indicating copy to clipboard operation
webrtc copied to clipboard

examples:play from disk,panic:illegal base64 data at input byte 4092

Open L-Xu-L opened this issue 1 year ago • 2 comments

Your environment.

  • Version: master
  • Browser: Microsoft Edge
  • OS: linux

What did you do?

  • Browser
  1. git clone github.com/pion/webrtc
  2. cd webetc/examples
  3. go run . (port:80)
  4. localhost:80
  5. click play from disk module javascript
  6. Copy browser Session Description to clipboard
  • Server
  1. cd webetc/examples/play-from-disk
  2. go run .
  3. write SDP from browser
  4. panic: illegal base64 data at input byte 4092
  5. Copy browser Session Description to clipboard : eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDQxNTA0NTkzMzUzNzA3MDIzODIgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyAzOTI5MyBVRFAvVExTL1JUUC9TQVZQRiA5NiA5NyAxMDIgMTAzIDEwNCAxMDUgMTA2IDEwNyAxMDggMTA5IDEyNyAxMjUgMzkgNDAgOTggOTkgMTAwIDEwMSAxMTIgMTEzIDExNiAxMTcgMTE4XHJcbmM9SU4gSVA0IDExNi4zMC4xMDEuMjQyXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9Y2FuZGlkYXRlOjMxMjE0OTc1NzcgMSB1ZHAgMjExMzkzNzE1MSAyYWEzZTIwMy02ZDA0LTQ0ZmEtYjNjNC1lOTMxMTg2OTNiZjAubG9jYWwgNTg1OTkgdHlwIGhvc3QgZ2VuZXJhdGlvbiAwIG5ldHdvcmstY29zdCA5OTlcclxuYT1jYW5kaWRhdGU6MzQ5ODg3ODM2NCAxIHVkcCAxNjc3NzI5NTM1IDExNi4zMC4xMDEuMjQyIDM5MjkzIHR5cCBzcmZseCByYWRkciAwLjAuMC4wIHJwb3J0IDAgZ2VuZXJhdGlvbiAwIG5ldHdvcmstY29zdCA5OTlcclxuYT1pY2UtdWZyYWc6MWtTd1xyXG5hPWljZS1wd2Q6UEZ1Um9GTVFuZ01jTzBxanFRbTcwaUNaXHJcbmE9aWNlLW9wdGlvbnM6dHJpY2tsZVxyXG5hPWZpbmdlcnByaW50OnNoYS0yNTYgQjE6QTI6RjU6Mjg6OTc6MUI6MUE6NzY6Mjc6QjI6RkM6QzI6RDE6NzI6RkE6Q0Q6Njg6MkU6QkQ6QUE6MUY6ODQ6QjU6QjA6NkM6Mjk6OEQ6MjY6MTg6ODM6MTQ6RjJcclxuYT1zZXR1cDphY3RwYXNzXHJcbmE9bWlkOjBcclxuYT1leHRtYXA6MSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDp0b2Zmc2V0XHJcbmE9ZXh0bWFwOjIgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvYWJzLXNlbmQtdGltZVxyXG5hPWV4dG1hcDozIHVybjozZ3BwOnZpZGVvLW9yaWVudGF0aW9uXHJcbmE9ZXh0bWFwOjQgaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1ob2xtZXItcm1jYXQtdHJhbnNwb3J0LXdpZGUtY2MtZXh0ZW5zaW9ucy0wMVxyXG5hPWV4dG1hcDo1IGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L3BsYXlvdXQtZGVsYXlcclxuYT1leHRtYXA6NiBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC92aWRlby1jb250ZW50LXR5cGVcclxuYT1leHRtYXA6NyBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC92aWRlby10aW1pbmdcclxuYT1leHRtYXA6OCBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9jb2xvci1zcGFjZVxyXG5hPWV4dG1hcDo5IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6bWlkXHJcbmE9ZXh0bWFwOjEwIHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cnRwLXN0cmVhbS1pZFxyXG5hPWV4dG1hcDoxMSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJlcGFpcmVkLXJ0cC1zdHJlYW0taWRcclxuYT1zZW5kcmVjdlxyXG5hPW1zaWQ6LSBjODFlNzZmYi0xYTJiLTRhOGUtOGVmYS01MTJhYzMyZDc1ODZcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6MTAyIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMiB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMiBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDIgbmFja1xyXG5hPXJ0Y3AtZmI6MTAyIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDIgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDMgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDMgYXB0PTEwMlxyXG5hPXJ0cG1hcDoxMDQgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA0IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA0IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA0IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNCBuYWNrXHJcbmE9cnRjcC1mYjoxMDQgbmFjayBwbGlcclxuYT1mbXRwOjEwNCBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwNSBydHgvOTAwMDBcclxuYT1mbXRwOjEwNSBhcHQ9MTA0XHJcbmE9cnRwbWFwOjEwNiBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDYgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDYgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA2IG5hY2tcclxuYT1ydGNwLWZiOjEwNiBuYWNrIHBsaVxyXG5hPWZtdHA6MTA2IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTA3IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTA3IGFwdD0xMDZcclxuYT1ydHBtYXA6MTA4IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwOCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwOCB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwOCBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDggbmFja1xyXG5hPXJ0Y3AtZmI6MTA4IG5hY2sgcGxpXHJcbmE9Zm10cDoxMDggbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMDkgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDkgYXB0PTEwOFxyXG5hPXJ0cG1hcDoxMjcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTI3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTI3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTI3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEyNyBuYWNrXHJcbmE9cnRjcC1mYjoxMjcgbmFjayBwbGlcclxuYT1mbXRwOjEyNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjEyNSBydHgvOTAwMDBcclxuYT1mbXRwOjEyNSBhcHQ9MTI3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo5OCBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjk4IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6OTggdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo5OCBjY20gZmlyXHJcbmE9cnRjcC1mYjo5OCBuYWNrXHJcbmE9cnRjcC1mYjo5OCBuYWNrIHBsaVxyXG5hPWZtdHA6OTggcHJvZmlsZS1pZD0wXHJcbmE9cnRwbWFwOjk5IHJ0eC85MDAwMFxyXG5hPWZtdHA6OTkgYXB0PTk4XHJcbmE9cnRwbWFwOjEwMCBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjEwMCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMCB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMCBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDAgbmFja1xyXG5hPXJ0Y3AtZmI6MTAwIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDAgcHJvZmlsZS1pZD0yXHJcbmE9cnRwbWFwOjEwMSBydHgvOTAwMDBcclxuYT1mbXRwOjEwMSBhcHQ9MTAwXHJcbmE9cnRwbWFwOjExMiBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTIgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTIgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTIgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTEyIG5hY2tcclxuYT1ydGNwLWZiOjExMiBuYWNrIHBsaVxyXG5hPWZtdHA6MTEyIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTEzIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTEzIGFwdD0xMTJcclxuYT1ydHBtYXA6MTE2IHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMTcgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTcgYXB0PTExNlxyXG5hPXJ0cG1hcDoxMTggdWxwZmVjLzkwMDAwXHJcbmE9c3NyYy1ncm91cDpGSUQgMTc1MDk2OTk5NSA3MzQzMjg2OTdcclxuYT1zc3JjOjE3NTA5Njk5OTUgY25hbWU6bGltMjVwbk1UMDNBRi9jNlxyXG5hPXNzcmM6MTc1MDk2OTk5NSBtc2lkOi0gYzgxZTc2ZmItMWEyYi00YThlLThlZmEtNTEyYWMzMmQ3NTg2XHJcbmE9c3NyYzo3MzQzMjg2OTcgY25hbWU6bGltMjVwbk1UMDNBRi9jNlxyXG5hPXNzcmM6NzM0MzI4Njk3IG1zaWQ6LSBjODFlNzZmYi0xYTJiLTRhOGUtOGVmYS01MTJhYzMyZDc1ODZcclxubT1hdWRpbyAzOTQ0NiBVRFAvVExTL1JUUC9TQVZQRiAxMTEgNjMgOSAwIDggMTMgMTEwIDEyNlxyXG5jPUlOIElQNCAxMTYuMzAuMTAxLjI0MlxyXG5hPXJ0Y3A6OSBJTiBJUDQgMC4wLjAuMFxyXG5hPWNhbmRpZGF0ZTozMTIxNDk3NTc3IDEgdWRwIDIxMTM5MzcxNTEgMmFhM2UyMDMtNmQwNC00NGZhLWIzYzQtZTkzMTE4NjkzYmYwLmxvY2FsIDU4NjAxIHR5cCBob3N0IGdlbmVyYXRpb24gMCBuZXR3b3JrLWNvc3QgOTk5XHJcbmE9Y2FuZGlkYXRlOjM0OTg4NzgzNjQgMSB1ZHAgMTY3NzcyOTUzNSAxMTYuMzAuMTAxLjI0MiAzOTQ0NiB0eXAgc3JmbHggcmFkZHIgMC4wLjAuMCBycG9ydCAwIGdlbmVyYXRpb24gMCBuZXR3b3JrLWNvc3QgOTk5XHJcbmE9aWNlLXVmcmFnOjFrU3dcclxuYT1pY2UtcHdkOlBGdVJvRk1RbmdNY08wcWpxUW03MGlDWlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEIxOkEyOkY1OjI4Ojk3OjFCOjFBOjc2OjI3OkIyOkZDOkMyOkQxOjcyOkZBOkNEOjY4OjJFOkJEOkFBOjFGOjg0OkI1OkIwOjZDOjI5OjhEOjI2OjE4OjgzOjE0OkYyXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9ZXh0bWFwOjE0IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNzcmMtYXVkaW8tbGV2ZWxcclxuYT1leHRtYXA6MiBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9hYnMtc2VuZC10aW1lXHJcbmE9ZXh0bWFwOjQgaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1ob2xtZXItcm1jYXQtdHJhbnNwb3J0LXdpZGUtY2MtZXh0ZW5zaW9ucy0wMVxyXG5hPWV4dG1hcDo5IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6bWlkXHJcbmE9c2VuZHJlY3ZcclxuYT1tc2lkOi0gZmFiM2NkMzgtZDQ4Yy00NjE5LWEzOTEtNWRjN2E5MjJkMWY5XHJcbmE9cnRjcC1tdXhcclxuYT1ydHBtYXA6MTExIG9wdXMvNDgwMDAvMlxyXG5hPXJ0Y3AtZmI6MTExIHRyYW5zcG9ydC1jY1xyXG5hPWZtdHA6MTExIG1pbnB0aW1lPTEwO3VzZWluYmFuZGZlYz0xXHJcbmE9cnRwbWFwOjYzIHJlZC80ODAwMC8yXHJcbmE9Zm10cDo2MyAxMTEvMTExXHJcbmE9cnRwbWFwOjkgRzcyMi84MDAwXHJcbmE9cnRwbWFwOjAgUENNVS84MDAwXHJcbmE9cnRwbWFwOjggUENNQS84MDAwXHJcbmE9cnRwbWFwOjEzIENOLzgwMDBcclxuYT1ydHBtYXA6MTEwIHRlbGVwaG9uZS1ldmVudC80ODAwMFxyXG5hPXJ0cG1hcDoxMjYgdGVsZXBob25lLWV2ZW50LzgwMDBcclxuYT1zc3JjOjIyOTYzODc4MzQgY25hbWU6bGltMjVwbk1UMDNBRi9jNlxyXG5hPXNzcmM6MjI5NjM4NzgzNCBtc2lkOi0gZmFiM2NkMzgtZDQ4Yy00NjE5LWEzOTEtNWRjN2E5MjJkMWY5XHJcbiJ9

企业微信截图_16999290954734

Thanks!

L-Xu-L avatar Nov 14 '23 02:11 L-Xu-L

module:Data Channels I got succed,Browser Gen SDP :eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDUzNjYxODE3MTA5MzY2NzgyODQgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwXHJcbmE9ZXh0bWFwLWFsbG93LW1peGVkXHJcbmE9bXNpZC1zZW1hbnRpYzogV01TXHJcbm09YXBwbGljYXRpb24gMzgwOTQgVURQL0RUTFMvU0NUUCB3ZWJydGMtZGF0YWNoYW5uZWxcclxuYz1JTiBJUDQgMTE2LjMwLjEwMS4yNDJcclxuYT1jYW5kaWRhdGU6MjU4MjI5NDgyNSAxIHVkcCAyMTEzOTM3MTUxIDU0MzQ5YzNkLWM3M2UtNGM2Ni04Yjg3LTM4MDZhNjAxZjVkMi5sb2NhbCA1ODE3NSB0eXAgaG9zdCBnZW5lcmF0aW9uIDAgbmV0d29yay1jb3N0IDk5OVxyXG5hPWNhbmRpZGF0ZTozMTE5NDk0Nzc4IDEgdWRwIDE2Nzc3Mjk1MzUgMTE2LjMwLjEwMS4yNDIgMzgwOTQgdHlwIHNyZmx4IHJhZGRyIDAuMC4wLjAgcnBvcnQgMCBnZW5lcmF0aW9uIDAgbmV0d29yay1jb3N0IDk5OVxyXG5hPWljZS11ZnJhZzovMnRnXHJcbmE9aWNlLXB3ZDpnb0lrTWpKb2lVb0J1TGF1OWNpdGgyemdcclxuYT1pY2Utb3B0aW9uczp0cmlja2xlXHJcbmE9ZmluZ2VycHJpbnQ6c2hhLTI1NiBDNToyNzo2MDo2ODpCNDpGODo4RjpDODpFNjo5NTpFMDpDQjo1QTpFODo4RDo4MTo1NTowQjoxNzo2Qzo0Rjo3RToyMjowMDoyOTo0NDo2RTpDQjo4NzpFQzpBNjo2QVxyXG5hPXNldHVwOmFjdHBhc3NcclxuYT1taWQ6MFxyXG5hPXNjdHAtcG9ydDo1MDAwXHJcbmE9bWF4LW1lc3NhZ2Utc2l6ZToyNjIxNDRcclxuIn0=

I don't konw why the SDP sometimes this,sometimes that

L-Xu-L avatar Nov 14 '23 02:11 L-Xu-L

modify signal.go Encode/Decode function. base64.StdEncoding to base64.RawURLEncoding Encode.. return base64.RawURLEncoding.EncodeToString(b) Decode.. b, err := base64.RawURLEncoding.DecodeString(in) https://github.com/pion/example-webrtc-applications/commit/8637ead1f9854e417ea5a1de83b9b6215eb9906c

heshouyong avatar Nov 17 '23 01:11 heshouyong

The limits stdin length limits cause this for me also. If you have a SDP that is larger then what your OS supports it is best to pipe it in like so the Windows instructions suggest here.

Paste the SessionDescription into a file.
Run play-from-disk < my_file

Thanks for the PR @heshouyong I don't understand why padding characters are causing issues! I will test+review and merge it!

Sean-Der avatar Apr 01 '24 01:04 Sean-Der