Saya memiliki file yang berakhiran .ts (mis., Di sini adalah 10 MB pertama ). Saya ingin mengonversinya ke format aliran yang lebih utama (misalnya, mp4, MPEG2-PS ...), dengan cara lossless jika memungkinkan (yaitu, remuxing).
Saya telah membaca Bagaimana cara mengkonversi file .ts menjadi sesuatu yang bermanfaat? pertanyaan. Saya mencoba avidemux
dengan pengaturan "copy" untuk aliran video dan audio, dan format wadah "PS" untuk MPEG. Itu gagal dengan pesan kesalahan "Audio tidak kompatibel / Untuk DVD, audio harus 48 kHz MP2 (stereo), AC3, DTS atau LPCM (stereo)".
Saya juga mencoba perintah CLI yang disarankan.
avconv -i 10MB.ts -vcodec copy -acodec copy 10MB.mpg
File output memiliki video yang tepat, tetapi tidak ada suara, setidaknya ketika diputar dengan VLC. Ini cukup membingungkan, karena avconv
sepertinya telah mendeteksi aliran audio dengan benar.
Input #0, mpegts, from '10MB.ts':
Duration: 00:00:06.36, start: 51523.824800, bitrate: 12563 kb/s
Program 37888
Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x110]: Audio: aac, 0 channels, fltp, 144 kb/s
Stream #0.2[0x130]: Data: [6][0][0][0] / 0x0006
Stream #0.3[0x138]: Data: [6][0][0][0] / 0x0006
Stream #0.4[0x140]: Data: [13][0][0][0] / 0x000D
Stream #0.5[0x160]: Data: [13][0][0][0] / 0x000D
Stream #0.6[0x161]: Data: [13][0][0][0] / 0x000D
Stream #0.7[0x162]: Data: [13][0][0][0] / 0x000D
Stream #0.8[0x170]: Data: [13][0][0][0] / 0x000D
Stream #0.9[0x171]: Data: [13][0][0][0] / 0x000D
Stream #0.10[0x172]: Data: [13][0][0][0] / 0x000D
Output #0, mpeg, to '10MB.mpg':
Metadata:
encoder : Lavf54.20.4
Stream #0.0: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], q=2-31, 20000 kb/s, 90k tbn, 90k tbc
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Saya juga mencoba perintah CLI yang disarankan di komentar pertanyaan lain .
avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4
Sekali lagi, tidak ada suara di file output.
EDIT: Saya mencoba VLC seperti yang disarankan oleh @Daniel. Itu hampir sempurna. Itu cepat dan ramah pengguna. Saya hanya perlu mengklik "Konversi / Simpan", tambahkan file input, pilih profil MP4, konfigurasikan codec Video dan codec Audio ke "Simpan video / audio track asli", pilih file tujuan, dan klik "Mulai". Video itu terlihat sempurna, tetapi audionya entah bagaimana sedikit rusak, tetapi mungkin disebabkan oleh sesuatu yang cukup eksotis dalam aliran audio video saya.
ffmpeg
.Jawaban:
Matroska (MKV)
Ini akan mengalirkan salinan (re-mux) semua aliran:
The
-map 0
opsi digunakan untuk memasukkan semua aliran. Jika tidak, ia akan menggunakan perilaku pemilihan aliran default yang hanya akan menghasilkan satu aliran per jenis aliran dipilih. Karena Matroska dapat menangani sebagian besar aliran acak yang saya masukkan-map 0
.MP4
Ini akan mengalirkan salinan (re-mux) semua aliran:
Ini akan menyandikan ulang video ke H.264 dan streaming menyalin audio:
Contoh berikutnya akan menyandikan ulang video dan audio:
Contoh H.264 lossless:
File lossless akan sangat besar.
Lihat FFmpeg Wiki: H.264 untuk info lebih lanjut.
sumber
ffmpeg -i 10MB.ts -c copy output.mkv
. Anda akan mendapatkan error:Error parsing AAC extradata, unable to determine samplerate
. Itu sebabnya contoh MKV saya mengkodekan ulang audio. Juga lihat # 4472: Salinan AAC dari aliran tanpa penyandian gagal dan lavf / mkv: Perbaiki remuxing AAC . Namun, semua ini mungkin tidak berlaku untuk file input besar Anda yang tidak dikunci dan dapat berfungsi seperti yang diharapkan.ffmpeg -i input -c:v copy -c:a aac output.mkv
bekerja dengan sempurna. Video remuxed, dan audio terdengar sebagus aslinya, tanpa sedikit korupsi yang saya dapatkan ketika mengkonversi dengan VLC.VideoLAN (VLC - http://www.videolan.org/vlc/index.html ) akan dengan mudah mengubah apa saja menjadi apa saja.
Cobalah. Ini berjalan di Linux, Windows, dan Mac OS X, dan memiliki antarmuka yang sangat user-friendly.
sumber
Sebagai pelengkap jawaban lain oleh @llogan - sebagai salinan aliran lebih disukai:
Saya sudah lama menggunakan beberapa perintah untuk mengekstrak audio tanpa mengubah nama file, yang dapat disesuaikan dengan yang disajikan di sini, agar terintegrasi dalam menu konteks manajer file.
Jadi, untuk "demuxing dan muxing" tanpa mengubah nama file yang digunakan:
Saya telah menambahkan itu ke tindakan khusus Thunar dan ke alat Konfigurasi Tindakan FileManager (Nautilus, Nemo, Caja, PCManFM), seperti:
sambil membatasi ke "* .ts" di Thunar dan
video/mp2t
di FileManager Actions.sumber