
作為一個小實驗,我考慮將一些視頻/電影/電視劇轉換為可以在我的 K850 上播放的格式,但為了在這個問題上更通用一點,讓我們說“中端索尼愛立信”手機,因為它們都或多或少的行為相同並且具有相同的螢幕解析度(240 x 320)。
我正在尋找基於命令列的工具(適用於Ubuntu),因為我正在考慮如果成功的話稍後編寫一個「轉換和移動」腳本。
我的許多影片都是用 mkv/h264 編碼的,但由於手機不支持,我想我需要將其轉換為一些 mp4/mpeg4 低品質影片。
經過一番谷歌搜索後,似乎該職位的一個不錯的候選人是ffmpeg,但這似乎是一個非常通用的工具,有很多魔術。
我走在正確的軌道上嗎?如果是這樣,我該如何使用 ffmpeg 來做到這一點?
謝謝約翰
更新:在使用 ffmeg 進行一些電鍍後,我注意到它只使用了我的 4 個核心中的 1 個,因此轉碼需要很長時間。我發現了一個名為 -threads 的參數,但這並沒有太大變化,也許我弄錯了。
我還發現手機裡有類似的東西。
ffmpeg -i Mythbusters\ S1D1_1.mkv -threads 4 -t 180 -vcodec mpeg4 -r 15 -s 320x240 Mythbusters\ S1D1_1_mini.mp4
用3gp/h263是可以的,但品質實在沒啥用。
ffmpeg -i Mythbusters\ S1D1_1.mkv -t 180 -vcodec h263 -acodec libfaac -s cif Mythbusters\ S1D1_1_cif.3gp
看來mp4/h264也是可能的,結果還可以,感謝這個問題,這個似乎也使用多個核心,所以對我來說有點快。
ffmpeg -i Mythbusters_S1D1_1.mkv -t 180 -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Mythbusters_S1D1_1_qvga.mp4
更新:我嘗試過使用 HandBrakeCLI,建立一個新檔案似乎與使用 ffmpeg 建立的檔案相同是沒有問題的。
HandBrakeCLI -i Mythbusters_S1D1_1.mkv --size 100 -E faac -B 60 --maxHeight 240 -r 15 -e x264 -o Mythbusters_S1D1_1_hand.mp4
但是手機裡那個沒有播放…
我在官方手冊中找到了這個:
如果您使用Media Go™ 之外的其他程式傳輸視頻剪輯,我們建議您選擇H.264 基線配置文件視頻,最高為QVGA,30 fps,VBR 384 kbps(最大768 kps),AAC+ 音頻為128 kbps(最大255 kbps) )、48 kHz 和 mp4 檔案格式的立體聲音訊。
所以使用H264的想法似乎是正確的。
答案1
答案2
我無法得到比這個 ffmpeg 範例更好的結果:
ffmpeg -i Star_Wars.mkv -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags + 循環 -cmp +chroma -partitions +parti4x4+partp8x8+b8x8d -fp 1 -refs 5 -編碼器0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qxcomp 0 .6 -qmin 10 -qmaxq 51 -diff線程0 -f mp4 星球大戰.mp4
這會將 50 分鐘的電視劇集 (4:3) 轉換為 70Mb 檔案(之前為 700Mb)
和一個 2 小時的影片 (16:9) 到 470Mb 檔案(之前是 1700Mb)