Я хочу преобразовать некоторые видео для воспроизведения на моем телевизоре Kogan с помощью портативного жесткого диска, но у меня возникают проблемы с его работой. Большинство моих файлов avi, закодированных с использованием xvid, отображаются на телевизоре как «неподдерживаемый файл».
Единственный файл, который я обнаружил, работает, как сообщается file
:
test.avi: RIFF (little-endian) data, AVI, 640 x 464, 23.98 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
Но я не могу подобрать подходящую командную строку avconv
для преобразовать что-либо еще в этот формат.
Телевизор утверждает, что поддерживает (из здесь ):
AVI (MPEG - 1/2 и MPEG-4 DivX 4 в кодировке) и MP4 (MPEG - 1 / 2 и MPEG-4 в кодировке DivX 4)
blockquote>
Оказывается, мне просто нужно было заставить телевизор думать, что это кодек DivX, когда это действительно кодек xvid, изменив тег видео (или FourCC на DIVX
) с помощью [ 113]:
avconv -i input.mp4 -c:v libxvid -c:a libmp3lame -b 700k -tag:v DIVX output.avi
, что, кажется, приемлемо для телевизора, и file
теперь выводит аналогично моему хорошему видео:
output.avi: RIFF (little-endian) data, AVI, 640 x 480, 25.00 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 44100 Hz)
Некоторые медиапроигрыватели не поддерживают формат Divx, но могут читать Xvid.
В моем случае я использовал avconv, чтобы установить правильный тег, и позволить своему медиаплееру читать его как Xvid, а не Divx:
$ avconv -i input.avi -vtag Xvid -c:a copy -c:v copy output.avi
После этого:
$ file input.avi
input.avi: RIFF (little-endian) data, AVI, 640 x 360, 23.98 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
$ file output.avi
output.avi: RIFF (little-endian) data, AVI, 640 x 360, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)