Pertanyaan Tidak dapat memotong bagian dari video dengan ffmpeg


Apa yang ingin saya lakukan

Saya mencoba untuk memotong video untuk proyek sains di bawah Ubuntu 11.10 dengan ffmpeg terbaru, Saya juga mencoba Kino dan avidemux di mana video gagal bahkan terbuka dengan baik meskipun bermain baik di VLC maupun mplayer.

Yang paling dekat saya datang sejauh ini adalah dengan parameter ini:

ffmpeg -ss 01:58 -t 21 -i row.avi -vcodec copy row_cut.avi

Juga dicoba

ffmpeg -ss 1 -i row.avi -vcodec copy -t 3 row_cut.avi

dan masih memiliki kesalahan yang sama :(

Di mana saya mendapatkan setidaknya 21 video sebagai output dan tidak ada kesalahan yang nyata tetapi video tidak akan diputar di VLC (ticker rolls tetapi hanya menampilkan VLC-logo) atau mplayer ("Internal data stream error").


FFmpeg output saat encoding

ffmpeg version git-2012-02-02-c853124 Copyright (c) 2000-2012 the FFmpeg developers
built on Feb  2 2012 23:17:50 with gcc 4.6.1
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable --libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
 libavutil      51. 37.100 / 51. 37.100
 libavcodec     54.  0.102 / 54.  0.102
 libavformat    54.  0.100 / 54.  0.100
 libavdevice    53.  4.100 / 53.  4.100
 libavfilter     2. 61.100 /  2. 61.100
 libswscale      2.  1.100 /  2.  1.100
 libswresample   0.  6.100 /  0.  6.100
 libpostproc    52.  0.100 / 52.  0.100
Input #0, avi, from 'row.avi':
 Duration: 00:03:13.93, start: 0.000000, bitrate: 46210 kb/s
  Stream #0:0: Video: rawvideo, pal8, 640x300, 30 tbr, 30 tbn, 30 tbc
File 'row_cut.avi' already exists. Overwrite ? [y/N] y
Output #0, avi, to 'row_cut.avi':
 Metadata:
  ISFT            : Lavf54.0.100
  Stream #0:0: Video: rawvideo, pal8, 640x300, q=2-31, 30 tbn, 30 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  631 fps=125 q=-1.0 Lsize=  118334kB time=00:00:21.03 bitrate=46088.4kbits/s    
video:118312kB audio:0kB global headers:0kB muxing overhead 0.018043%

FFmpeg output saat memuat video

Dugaan saya adalah bahwa video tersebut memiliki beberapa jenis format aneh, salah mengerti parameter ffmpeg atau mungkin Metada: encoder: Lavf53.3.0 bagian dalam output?

user@computer:/somewhere$ ffmpeg -i row.avi
Input #0, avi, from 'row.avi':
 Duration: 00:03:13.93, start: 0.000000, bitrate: 46210 kb/s
  Stream #0.0: Video: rawvideo, pal8, 640x300, 30 tbr, 30 tbn, 30 tbc

dan

user@computer:/somewhere$ ffmpeg -i row_cut.avi
Input #0, avi, from 'row_cut.avi':
 Metadata:
  encoder         : Lavf54.0.100
Duration: 00:00:21.03, start: 0.000000, bitrate: 46088 kb/s
 Stream #0.0: Video: rawvideo, bgr24, 640x300, 30 tbr, 30 tbn, 30 tbc

Output Mediainfo

General
Complete name                            : row.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Format profile                           : OpenDML
File size                                : 1.04 GiB
Duration                                 : 3mn 13s
Overall bit rate                         : 46.2 Mbps

Video
ID                                       : 0
Format                                   : RGB
Codec ID                                 : 0x00000000
Codec ID/Info                            : Basic Windows bitmap format. 1, 4 and 8 bpp versions are palettised. 16, 24 and 32bpp contain raw RGB samples
Duration                                 : 3mn 13s
Bit rate                                 : 46.1 Mbps
Width                                    : 640 pixels
Height                                   : 300 pixels
Display aspect ratio                     : 2.2:1
Frame rate                               : 30.000 fps
Bit depth                                : 8 bits
Bits/(Pixel*Frame)                       : 8.000
Stream size                              : 1.04 GiB (100%)

dan

General
Complete name                            : row_cut.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 116 MiB
Duration                                 : 21s 33ms
Overall bit rate                         : 46.1 Mbps
Writing application                      : Lavf54.0.100

Video
ID                                       : 0
Format                                   : RGB
Codec ID                                 : 0x00000000
Codec ID/Info                            : Basic Windows bitmap format. 1, 4 and 8 bpp versions are palettised. 16, 24 and 32bpp contain raw RGB samples
Duration                                 : 21s 33ms
Bit rate                                 : 46.1 Mbps
Width                                    : 640 pixels
Height                                   : 4294966 996 pixels
Display aspect ratio                     : 0.000
Frame rate                               : 30.000 fps
Bit depth                                : 8 bits
Stream size                              : 116 MiB (100%)

3
2018-02-02 19:42


asal


Kiat: Anda sedang menggunakan ffmpeg version 0.7.3. Itu sangat tua. Dapatkan versi terbaru, mereka berada di 0,10 sekarang. Anda berada di Ubuntu, jadi ikuti tutorial ini, cukup mudah dan selangkah demi selangkah dengan semua yang diperlukan. Coba dengan versi terbaru dan laporkan;) - slhck
Menariknya, tampaknya ruang warna tidak ditulis dengan benar ke wadah AVI. Saat encoding, Anda masih mendapatkan pal8, membaca file kembali memberi Anda bgr24 - Pasti ada yang salah di sana. - slhck
diperbarui x264 dan ffmpeg mengikuti tautan yang disediakan, masih memiliki masalah yang sama :( - SlimJim
Bisakah kamu sunting posting Anda dan memperbarui hasilnya? Bisakah Anda memposting file contoh di suatu tempat untuk saya periksa? Saya akan memeriksanya. - slhck
gunakan mediainfo untuk melihat apa yang ada di dalamnya. - barlop


Jawaban:


Jawaban dari milis ffmpeg:

Anda tidak dapat menggunakan copy -vcodec pada rawvideo pal8 (ini mungkin bug), tapi   Anda dapat menggunakan rawvideo -vcodec sebagai work-around.

Ini agak berfungsi bermain di VLC tetapi tidak mplayer sehingga akan dilakukan untuk saat ini. Perintah kerja terakhir adalah

ffmpeg -ss 1 -i row.avi -vcodec rawvideo -t 3 row_cut.avi

3
2018-02-06 19:52