![为十年前的松下电视重新编码视频](https://linux22.com/image/1626463/%E4%B8%BA%E5%8D%81%E5%B9%B4%E5%89%8D%E7%9A%84%E6%9D%BE%E4%B8%8B%E7%94%B5%E8%A7%86%E9%87%8D%E6%96%B0%E7%BC%96%E7%A0%81%E8%A7%86%E9%A2%91.png)
我希望能够在 Panasonic TX-L32GN23 上播放电视以外的视频。这台电视机配有专有媒体播放器 (Viera),如果按照手册录制,该电视机可以播放以下视频:兼容 MPEG-2 (PS 格式) AVCHD 标准,音频需要为 MPEG-1/Layer-2 格式或杜比数字
手册的另一部分告诉我,除了上述 DivX 之外,还可以播放视频编解码器:DIV3、DIV4、DIVX、DX50、DIV6 和音频:MP3、MPEG、AC3
此外,手册中通常会说:PC 操作的媒体文件可能无法正确播放……
具体关于 DivX,手册中写道:根据用于生成 DivX 文件的软件,这些文件可能无法被识别...
:\
我已经用 MPG-2 做过测试,但失败了。不幸的是,我不记得我具体给了 ffmpeg 哪一行来编码那个 MPG2 文件,但我记得我告诉它使用 mpeg2video。然而这没有用。
我希望我的问题听起来不会太混乱,但这不是我自己的电视机,所以我没有太多时间进行测试和摆弄。我刚拿到手册,不得不说,这本手册对我来说根本没有清楚地说明那个愚蠢的 VIERA Mediaplayer 的实际功能,而且最重要的是,Mediaplayer 似乎可以根据实际的数据存储类型播放(或不播放)格式(专有软件和硬件真正令人讨厌的一面 ;( )
那么 ffmpeg 能帮助解决该编码问题吗?任何提示都会受到赞赏,并且一定会进行测试 :)
提前谢谢了
OK,评论可能字符数不多,所以我就把它放在这里:
亲爱的@llogan
根据建议,我对这些测试视频进行了编码,并很高兴地告诉您:
>ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v libxvid -c:a libmp3lame -ac 2 -shortest mpeg4_xvid_mp3.avi
确实通过了那台电视的挑剔:)
此外:每个建议的 ffmpeg 命令行都会生成一些视频,除了这个:
>ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v mpeg4 -c:a libmp3lame -ac 2 -shortest -vtag divx mpeg4_mp3_b.mp4
该失败原因:[mp4 @ 0x556d3df4a640] 标签 divx 与输出编解码器 id‘13’不兼容([0][0][0])无法为输出文件 #0 写入标题(编解码器参数不正确?):处理输入时发现无效数据初始化输出流 0:1 时出错 --
但由于我在 Linumint Debian Edition 3 上使用的是 3.3.9 版本的 ffmpeg,所以我不用担心这个问题,它只是一个较旧的软件,我应该从 github 获取一个更新的版本。
非常感谢您解决我的问题!
答案1
电视机非常挑剔,有时甚至会让人沮丧。如果缺少有关设备的任何有用信息,或者没有任何可以用作参考的视频,您就只能对一大堆测试视频进行编码,然后测试它们是否有效。
这使用测试源2和正弦过滤器可生成 10 秒测试文件的视频和音频。如果您更愿意使用输入文件,请将其替换-f lavfi -i testsrc2=s=1280x720:r=25:d=10 -f lavfi -i sine
为。-i input.mp4
ffmpeg -f lavfi -i testsrc2=s=1280x720:r=25:d=10 -f lavfi -i sine -c:v libx264 -profile:v baseline -vf format=yuv420p -c:a aac -movflags +faststart h264_aac.mp4
ffmpeg -f lavfi -i testsrc2=s=1280x720:r=25:d=10 -f lavfi -i sine -c:v libx264 -profile:v baseline -refs 1 -bf 0 -vf format=yuv420p -c:a aac -movflags +faststart h264_aac_nobframes_1ref.mp4
ffmpeg -f lavfi -i testsrc2=s=1280x720:r=25:d=10 -f lavfi -i sine -c:v libx264 -profile:v baseline -vf format=yuv420p -c:a aac -movflags +faststart h264_aac.mkv
ffmpeg -f lavfi -i testsrc2=s=1280x720:r=25:d=10 -f lavfi -i sine -c:v libx264 -profile:v baseline -vf format=yuv420p -c:a mp2 -ac 2 -shortest -f vob h264_mp2.mpg
ffmpeg -f lavfi -i testsrc2=s=1280x720:r=25:d=10 -f lavfi -i sine -c:v libx264 -profile:v baseline -vf format=yuv420p -c:a ac3 -ac 2 -shortest -f vob h264_ac3.mpg
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v mpeg4 -c:a libmp3lame -ac 2 -shortest mpeg4_mp3_a.mp4
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v mpeg4 -c:a libmp3lame -ac 2 -shortest -vtag divx mpeg4_mp3_b.mp4
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v libxvid -c:a libmp3lame -ac 2 -shortest mpeg4_xvid_mp3.mp4
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v mpeg4 -c:a libmp3lame -ac 2 -shortest mpeg4_mp3.avi
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v libxvid -c:a libmp3lame -ac 2 -shortest mpeg4_xvid_mp3.avi
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v libxvid -c:a libmp3lame -ac 2 -shortest -vtag divx mpeg4_xvid_mp3.avi
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v mpeg4 -c:a ac3 -ac 2 -shortest mpeg4_ac3.avi
ffmpeg -f lavfi -i testsrc2=s=640x480:r=25:d=10 -f lavfi -i sine -c:v mpeg4 -c:a libmp3lame -ac 2 -shortest mpeg4_mp2.avi