SORU
7 EYLÜL 2011, ÇARŞAMBA


Arada iki mp4 dosyaları ffmpeg kullanarak

İki mp4 dosyaları ffmpeg kullanarak bağlamak için çalışıyorum. Bu ffmpeg seçtim dolayısıyla otomatik bir süreç olması gerekiyor. İçine iki dosya dönüştürme değilim .dosyaları ts ve sonra onları bitiştirmek ve sonra kodlamak için çalışıyorum concated .dosya ts. Dosyaları h264 ve aac kodlanmış ve kalitesi aynı veya mümkün olduğunca orijinal yakın olarak kalmasını umuyorum.

ffmpeg -i part1.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part1.ts
ffmpeg -i part2.mp4 -vcodec copy -vbsf h264_mp4toannexb -acodec copy part2.ts
cat part1.ts part2.ts > parts.ts
ffmpeg -y -i parts.ts -acodec copy -ar 44100 -ab 96k -coder ac -vbsf h264_mp4toannexb parts.mp4

Ne yazık ki aşağıdaki hata iletisini ffmpeg kodlama sırasında geri geliyor alıyorum:

[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[h264 @ 0x1012600]sps_id out of range
[h264 @ 0x1012600]non-existing SPS 0 referenced in buffering period
[NULL @ 0x101d600]error, non monotone timestamps 13779431 >= 13779431kbits/s    
av_interleaved_write_frame(): Error while opening file

Bu bana iki herhangi bir parametre olamayacağını düşündürüyor kodlama ile yaklaşık yarım olur .dosyaları birlikte ts ve iş var. Herhangi bir yardım çok mutluluk duyacağız.

CEVAP
24 HAZİRAN 2012, Pazar


FFmpeg üç herhangi bir parametre yöntemleri vardır.

concat protocol

ffmpeg -i 'concat:input1|input2' -codec copy output

concat video filter

ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv \
  -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' \
  -map '[v]' -map '[a]' output.mkv

concat demuxer

$ cat mylist.txt
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

$ ffmpeg -f concat -i mylist.txt -c copy output

Bir kullanılacak

  • herhangi bir parametre protokolü: dosya seviyesi birleştirme destek biçimleri ile birlikte kullanın (MPEG-1, MPEG-2 PS, DV).
  • herhangi bir parametre filtresieğer ihtiyacınız varsa filtreleri uygularken gibi yeniden kodlamak için kullanın.
  • herhangi bir parametre demuxertekrar kodlamak bir biçimi önlemek istediğinizde kullanın dosya düzeyinde birleştirme desteklemiyor.

Şüpheniz varsa herhangi bir parametre bu demuxer deneyin.

Ayrıca Bkz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Doug Bernards

    Doug Bernard

    7 Kasım 2007
  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • mliskIT

    mliskIT

    29 Mart 2012