Apa metode tercepat dan paling tidak memakan sumber daya untuk memisahkan file MP4?
Saya mencoba ffmpeg tetapi mendapat kesalahan:
$ ffmpeg -vcodec copy -ss 0 -t 00:10:00 -i /home/asafche/Videos/myVideos/MAH00124.MP4 /home/asafche/Videos/myVideos/eh.mp4
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 31 2011 18:53:20, gcc: 4.4.3
Seems stream 0 codec frame rate differs from container frame rate: 119.88 (120000/1001) -> 59.94 (60000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/asafche/Videos/myVideos/MAH00124.MP4':
Duration: 00:15:35.96, start: 0.000000, bitrate: 5664 kb/s
Stream #0.0(und): Video: h264, yuv420p, 1280x720, 59.94 tbr, 59.94 tbn, 119.88 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16
Output #0, mp4, to '/home/asafche/Videos/myVideos/eh.mp4':
Stream #0.0(und): Video: libx264, yuv420p, 1280x720, q=2-31, 90k tbn, 59.94 tbc
Stream #0.1(und): Audio: 0x0000, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
Apa yang saya lakukan salah dan bagaimana cara membagi file mp4 dengan benar?
video
file-format
Asaf Chertkoff
sumber
sumber
Jawaban:
Dengan ffmpeg Anda dapat membagi file menggunakan perintah berikut:
di mana START mulai positing dalam detik atau dalam format jj: mm: dt. PANJANG adalah panjang potongan dalam detik atau dalam format jj: mm: dd
Jadi, Anda perlu menjalankan perintah ini beberapa kali tergantung pada berapa lama video Anda. Jika katakanlah video Anda berdurasi 31 menit dan Anda ingin membaginya menjadi 15 menit, inilah cara Anda menjalankannya:
Ada skrip python yang dapat Anda gunakan yang melakukan ini secara otomatis (yaitu mengambil file video, ukuran chunk dalam hitungan detik dan menghasilkan file video yang dapat diputar secara individu): http://icephoenix.us/notes-for-myself/auto-splitting-video -file-in-equal-chunks-with-ffmpeg-and-python /
sumber
Jika Anda lebih suka menggunakan gui ada avidemux yang tersedia di repositori. Menentukan titik potong jauh lebih mudah dengan cara ini!
Marker pemilihan menentukan bagian dari video yang akan diekspor, menggunakan "salin" dalam audio dan video untuk menghindari pengodean ulang. Anda juga dapat memilih wadah atau mengubahnya (avi, mp4, mkv, dll).
Saya telah melakukan banyak pemotongan pada beberapa video dari kamera dan itu instan!
sumber
Tidak yakin apa kebutuhan Anda, tetapi Anda dapat mengetik ini di terminal: Untuk membuka terminal, tekan Ctrl+ Alt+T
split -b 4M file.mp4 part_file
Ini akan membagi file menjadi potongan 4 megabyte. Untuk membuat ulang file lagi, ketik
cat part_file[a-c] > file.mp4
Perhatikan bahwa saya telah mengetikSaya akan jelaskan dengan sebuah contoh.a-c
di braket, karena perpecahan membuat 3 file. dalam kasus Anda, Anda mungkin harus melihat lebih banyak.Ini menunjukkan bahwa saya memiliki satu file, sebesar 9,3 MB. Untuk membelah, saya mengetik:
Setelah pemisahan, saya mendapatkan file sebagai:
Perhatikan dua karakter yang ditambahkan ke nama file.
Untuk mendapatkan file kembali:
sumber
Gunakan mkvmerge dari paket mkvtoolnix. Gunakan sesuatu seperti
Ini akan membagi file Anda menjadi 1 GB blok. Anda dapat menggunakan indikasi waktu juga.
sumber
Jika ini adalah bagian MP4 2, maka dengan pendekatan yang sangat teliti, Anda dapat melanjutkan file tanpa encoder / decoder. Jawaban ini ditujukan untuk orang-orang dengan latar belakang pemrograman dan editor hex yang ingin menjaga file "" tetap "".
Bagian pertama dari file adalah mdat, yang kedua adalah moov, berisi metadata yang digunakan oleh decoder untuk menemukan potongan, yang berisi sampel (gambar dan suara yang disandikan, tidak penting untuk diketahui). Lalu ada STCO, STTS, STSC, dll. Ini disebut "atom". Mereka menunjukkan berapa offset, panjang, dll, dari masing-masing potongan. Jika Anda melakukan pekerjaan bersih, Anda dapat membuat beberapa contoh video Anda, dan versi yang berbeda dengan potongan yang berbeda. File kemudian akan dapat diputar di pemutar, dan dicerna di situs web video. Jika Anda seorang pembuat kode, buat parser MP4 atau gunakan yang sudah ada untuk melacak bagian-bagian dan penyeimbangnya. Itu akan membantu Anda mengetahui lebih banyak tentang format, dan untuk membangun kembali file secara otomatis.
sumber
Metode termudah dan sangat mudah adalah dengan menggunakan MP4Box:
# apt install gpac
$ MP4Box -split 15 /home/asafche/Videos/myVideos/MAH00124.MP4
(parameternya adalah waktu dalam detik). Untuk kemungkinan pemisahan lainnya, misalnya berdasarkan ukuran, lihat https://gpac.wp.imt.fr/mp4box/mp4box-documentation/ atauMP4Box -h general
Penggabungan juga sederhana.
sumber
Alat GUI open-source lain , yang dapat membagi video, dan melakukan lebih banyak lagi, adalah rem tangan
Misalnya, di sini saya membagi video saya di 24,53 (mm: dd), dan juga memotong bingkai di sisi kanan:
Anda dapat melihat pratinjau output dengan mudah - dengan tombol "Pratinjau".
sumber