您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

60 行
1.6 KiB

  1. using JT1078.Flv.MessagePack;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. namespace JT1078.Flv
  6. {
  7. public class FlvMuxer
  8. {
  9. private static readonly FlvHeader VideoFlvHeader = new FlvHeader(true, false);
  10. public byte[] FlvFirstFrame()
  11. {
  12. byte[] buffer = FlvArrayPool.Rent(10240);
  13. try
  14. {
  15. FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);
  16. //flv header
  17. flvMessagePackWriter.WriteArray(VideoFlvHeader.ToArray());
  18. //flv body
  19. //flv body PreviousTagSize awalys 0
  20. flvMessagePackWriter.WriteUInt32(0);
  21. //flv body tag
  22. //flv body tag header
  23. //flv body tag body
  24. return flvMessagePackWriter.FlushAndGetArray();
  25. }
  26. finally
  27. {
  28. FlvArrayPool.Return(buffer);
  29. }
  30. }
  31. public byte[] FlvOtherFrame()
  32. {
  33. byte[] buffer = FlvArrayPool.Rent(10240);
  34. try
  35. {
  36. FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);
  37. //flv body
  38. //flv body PreviousTagSize
  39. //flv body tag
  40. //flv body tag header
  41. //flv body tag body
  42. return flvMessagePackWriter.FlushAndGetArray();
  43. }
  44. finally
  45. {
  46. FlvArrayPool.Return(buffer);
  47. }
  48. }
  49. }
  50. }