[英]Conversion of .iva to .mp4 using ffmpeg
我要轉換的視頻已上傳到http://www.filedropper.com/video_17
我正在使用以下命令來轉換文件:
ffmpeg -i archive.iva -c copy -map 0 output.mp4 -vsync 2 -y;
該文件的長度應為1分鍾左右,但轉換后僅為7秒
我究竟做錯了什么?
編輯
控制台輸出:
rupesh@rupesh-Lenovo-IdeaPad-Y510P:~/video$ ffmpeg -i archive.iva -c copy -map 0 output.mp4 -vsync 2 -y;
ffmpeg version N-80026-g936751b Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
libavutil 55. 24.100 / 55. 24.100
libavcodec 57. 42.100 / 57. 42.100
libavformat 57. 36.100 / 57. 36.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 45.100 / 6. 45.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mjpeg @ 0x3a2eda0] Format mjpeg detected only with low score of 25, misdetection possible!
Input #0, mjpeg, from 'archive.iva':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 25 fps, 25 tbr, 1200k tbn
[mp4 @ 0x3a309c0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, mp4, to 'output.mp4':
Metadata:
encoder : Lavf57.36.100
Stream #0:0: Video: mjpeg (l[0][0][0] / 0x006C), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, q=2-31, 25 fps, 25 tbr, 1200k tbn
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 190 fps=0.0 q=-1.0 Lsize= 5909kB time=00:00:07.56 bitrate=6403.2kbits/s speed= 127x
video:5908kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.026134%
您不需要在這里進行流-c copy
( -c copy
)。 只需簡單地讓FFmpeg決定實際的輸出參數(它將嘗試重現輸入視頻的相同質量,例如保持相同的大小,長寬比等):
ffmpeg -i archive.iva output.mp4
另外,您完全濫用了這些選項。
-y
告訴FFmpeg對是/否問題自動說“是”(通常會覆蓋具有相同名稱的輸出文件。Global選項 ,因此應在-i
選項之前使用。 -map
:使用此選項,您可以在以下語句中告訴FFmpeg應當處理流。 (例如: -map a:1
選擇第二個音頻流) -vsync
選項必須在編碼選項中調整; 在輸出之前! 另外,我不確定這里是否必要。 -c
為一個或多個流選擇編碼器(或解碼器)。 因此,如果要為視頻流指定“ h264”,則其外觀應為: -c:v h264
。 copy
參數告訴FFmpeg以不變的方式選擇所選流 。 如果您將其保留,則播放器無法將視頻解碼為MP4文件。 基本的FFmpeg命令的結構可以大致概括如下:
ffmpeg [global options] -i [input file] [encoding/filtering options] [output file]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.