Skip to content

fix(video): correct video upload protocol via highway#111

Open
linyuchen wants to merge 1 commit into
LagrangeDev:mainfrom
linyuchen:fix/video-upload
Open

fix(video): correct video upload protocol via highway#111
linyuchen wants to merge 1 commit into
LagrangeDev:mainfrom
linyuchen:fix/video-upload

Conversation

@linyuchen
Copy link
Copy Markdown

附上 ffmpeg 生成随机 150-200MB 的视频命令

ts=$(date +%s%N)
ffmpeg -hide_banner -loglevel error \
  -f lavfi -i "color=c=black:s=1280x720:r=30:d=600,format=yuv420p,noise=alls=80:allf=t+u,drawtext=text='UID-$ts':fontcolor=white:fontsize=80:x=20:y=20" \
  -f lavfi -i "anullsrc=channel_layout=stereo:sample_rate=44100" \
  -shortest -c:v libx264 -b:v 2500k -maxrate 3000k -bufsize 6000k -c:a aac -b:a 128k -f mp4 \
  "big-$ts.mp4" -y

Three issues prevent video upload from working end-to-end:

- BuildFileInfo for VideoEntity dereferences info.Type which is never
  initialized. Replace info.Type.Type = 2 with
  info.Type = new FileType { Type = 2 }.

- Group / C2C highway command IDs are swapped: group video uses 1005/1006
  and C2C uses 1001/1002, not the other way around. With the wrong cmd
  the server acks all blocks but archives to the wrong storage bucket,
  so the recipient cannot resolve the file URL.

- Thumbnail upload was missing the sha1 recomputation that the main
  video has. GenerateExt fills hash.FileSha1 from main video's index,
  Preprocess overwrites it with CalculateStreamBytes for main but not
  for thumb, so the thumb upload sends bytes paired with the wrong sha1
  list. Server accepts the bytes but the thumb stays unbound to the
  message and the recipient sees no cover.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant