首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

視頻處理,

  •  
  •   linbingqinag · 99 天前 · 692 次点击
    这是一个创建于 99 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如題, 想讀取一個視頻文件, 但是發現讀取出來不能播放了, 有同學可以看看什麼問題嗎? 以前沒有做過視頻處理

    
    
    package main
    
    import (
    	"bufio"
    	"os"
    )
    
    func checkError(err error) {
    	if err != nil {
    		panic(err)
    	}
    }
    func main() {
    	path := "/e22ca3cbcbb30eb2b39461602e8ff2ac.mp4"
    	outfile, err := os.Create("test.mp4")
    	checkError(err)
    	defer outfile.Close()
    
    	inFile, err := os.Open(path)
    	checkError(err)
    	defer inFile.Close()
    
    	scanner := bufio.NewScanner(inFile)
    	buf := make([]byte, 0, 1024*1024)
    	scanner.Buffer(buf, 10*1024*1024)
    
    	writer := bufio.NewWriter(outfile)
    
    	for scanner.Scan() {
    		print(scanner.Bytes())
    		_, res := writer.Write(scanner.Bytes())
    		checkError(res)
    	}
    }
    
    
    
    
    
    
        1
    aliipay   99 天前
    这个和视频处理什么关系? 你这就读写文件,比较下两个文件是否一致就好了。
    很有可能是没有 close 文件导致没完全写入磁盘。
        2
    a7a2a7a2   99 天前
    应该不是同行。。。

    建议去 github 搜索一下相关,例如如果是 h265 的,就找到他的解码 https://github.com/rainliu/GoHM
    其他类似。

    这个 https://github.com/adrg/libvlc-go 更适合你
        3
    Oz2011   99 天前
    你这段就是 copy 一个文件啊,如果源文件能放,copy 过去的不能放,比较两个文件是不是一样就是了。
    mp4 文件的 index 默认放在后面,确实有可能没有完全拷贝导致 index 没拷过去播放不了
        4
    linbingqinag   98 天前
    solved
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2215 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 02:17 · PVG 10:17 · LAX 18:17 · JFK 21:17
    ♥ Do have faith in what you're doing.