如題, 想讀取一個視頻文件, 但是發現讀取出來不能播放了, 有同學可以看看什麼問題嗎? 以前沒有做過視頻處理
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 2019-08-08 21:33:40 +08:00
这个和视频处理什么关系? 你这就读写文件,比较下两个文件是否一致就好了。
很有可能是没有 close 文件导致没完全写入磁盘。 |
2
a7a2a7a2 2019-08-08 23:46:07 +08:00
应该不是同行。。。
建议去 github 搜索一下相关,例如如果是 h265 的,就找到他的解码 https://github.com/rainliu/GoHM 其他类似。 这个 https://github.com/adrg/libvlc-go 更适合你 |
3
Oz2011 2019-08-09 09:47:13 +08:00
你这段就是 copy 一个文件啊,如果源文件能放,copy 过去的不能放,比较两个文件是不是一样就是了。
mp4 文件的 index 默认放在后面,确实有可能没有完全拷贝导致 index 没拷过去播放不了 |
4
linbingqinag OP solved
|