
我有一組用 Olympus u5000 相機錄製的私人 jpeg 和 avi(mjpeg 格式)。由於 mjpeg 不是適合在 xbmc 中播放的格式,因此我想將其轉碼為 h264 格式。我得到的最遠的是以下行:
avconv -i P3040001.AVI -strict experimental -c:v libx264 -b:v 8000k -c:a ac3 -b:a 192k output.mp4
該行轉換:
avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 24 2014 06:12:33 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu1)
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'P3040001.AVI':
Metadata:
creation_time : 2013-03-04 12:21:39
encoder : OLYMPUS u5000
Duration: 00:00:01.99, start: 0.000000, bitrate: 12920 kb/s
Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 fps, 30 tbr, 30 tbn
Stream #0.1: Audio: pcm_u8, 8000 Hz, mono, u8, 64 kb/s
到
avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 24 2014 06:12:33 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2013-03-04 12:21:39
encoder : Lavf54.20.3
Duration: 00:00:02.09, start: 0.000000, bitrate: 35 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 640x480, 17 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc
Metadata:
creation_time : 2013-03-04 12:21:39
Stream #0.1(und): Audio: aac, 8000 Hz, mono, fltp, 9 kb/s
Metadata:
creation_time : 2013-03-04 12:21:39
如您所見,我的音訊有問題。在output.mp4 中根本沒有音訊。我想使用 avconv 因為我的 xubuntu 14.04 伺服器上有一堆檔案。
我做錯了什麼?
問候。
答案1
在您的命令中,您沒有指定音軌應如何處理。
嘗試這個:
avconv -i P3040001.AVI -strict experimental -c:v libx264 -b:v 8000k -c:a ac3 -b:a 192k output.mp4.
您可以隨意調整比特率。您可以用來avinfo
了解原始位元率並轉碼為類似的位元率。
您也可以使用 Avidemux 等 GUI 程式。
答案2
嘗試這個:
avconv -i input.avi -c:v libx264 -b 800k output.mp4
這將使用 libx264 編解碼器以 800k 的速率重新編碼視頻,並讓編碼器決定如何處理音頻以確保與 mp4 容器的兼容性。根據您的品質偏好調整比特率。考慮到所有因素,您應該允許較大的電影使用更高的比特率。 (例如,一部 1280x960 的電影需要大約 4 倍於 640x480 的比特率才能保持相似的品質)
答案3
也許最好的選擇是使用預設對於 x264 編碼並指定恆定速率因子 (CRF) 而不是固定位元率。來自源頭的聲音並不是最好的開始,但也許轉換為位元率相對較低的 VBR mp3 聽起來不錯。請嘗試以下操作:
avconv -i P3040001.AVI \
-c:v libx264 -preset slow -crf 22 -tune film \
-c:a libmp3lame -qscale:a 7 -ar 44100 \
output.mp4
這可能會提供合理的視訊品質和更好的聲音。調整-qscale:a 7設定以獲得更好的聲音,較低的數字將給出較高的比特率目標。
如果 avconv 在 x264 或 libmp3lame 上阻塞,您將需要添加適當的libavcodec-額外* 適合您的 Ubuntu 版本的軟體包。