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
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.
Nasıl dosyaları kullanarak JSP/Sunucu ...
Yinelemeli olarak kullanarak wget için...
Görüntü için arsa Matplotlib örneğin, ...
't don dosyaları bulmak için grep...
Yinelemeli olarak kullanarak Emacs ve ...