2012-07-07 195 views
2

我有UYVY422格式的原始視頻,我想將其轉換爲YUV420p。 我'執行該命令()FFmpeg conversion從UYVY422到YUV420P

ffmpeg -y -r 25.0 -f rawvideo -s 1920x1080 -pix_fmt uyvy422 -i input.avi -pix_fmt yuv420p -f avi -r 25 -s 1920x1080 output.avi 

和我的輸出視頻似乎漂浮(視頻的右側開始出現在左邊緣,它是從左至右移動)

有沒有人知道我做錯了什麼?我試圖設置輸出視頻爲原始格式,但它沒有工作... \

回答

3

與ffmpeg我想你需要告訴它做一個直接的副本,否則它會嘗試編碼輸出。嘗試添加 '-vcodec副本' 選項:

的ffmpeg -y -r -f 25.0 -s rawvideo 1920×1080 -pix_fmt uyvy422 -i input.avi -vcodec複製 -pix_fmt YUV420P -f AVI -r -s 25 1920x1080 output.avi

+1

沒有它不工作,我沒有轉換:通過將視頻分爲幀,比轉換成每個YUV420與Image Magick合成幀,然後將幀連接成輸出視頻 – risque 2012-12-25 19:52:45

1

我只是做了從yuv420p到yuv444p的轉換。我不是100%肯定這會適用於你的情況,但它可能。值得一去:

在Windows命令行:

ffmpeg.exe -y -pix_fmt YUV420P -s -r 1920x1080的30 -i ldr_420.yuv -f rawvideo -pix_fmt yuv444p -s 1920×1080 -r 30 ldr_444.yuv

在Linux中的命令行:。 $/ffmpeg的-y -pix_fmt YUV420P -s 1920×1080 -r 30 -i ldr_420.yuv -f rawvideo -pix_fmt yuv444p -s 1920×1080 -r 30 ldr_444.yuv

在您的情況下,請將輸入和輸出-pix_fmt替換爲所需的格式。

6

的ffmpeg -y -r 25.0 -f rawvideo -s 1920×1080 -pix_fmt uyvy422 -i input.avi -pix_fmt YUV420P -f AVI -r 25 -s 1920×1080 output.avi

問題這裏是源代碼是一個AVI文件。它可能包含原始的YUV幀,但它不是原始的YUV文件,它仍然具有AVI頭等。您告訴它將其解析爲原始YUV文件,這就是您看到滾動幀的原因。

我的-i之前只是刪除所有的選項,那麼就應該正常工作:

ffmpeg -i input.avi -pix_fmt yuv420p -c:v rawvideo -an -s 1920x1080 -y output.avi