簡體   English   中英

使用ffmpeg將.iva轉換為.mp4

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM